Asp.Net zamanlanmış görevler nasıl yapılır?

1,567 views
Skip to first unread message

Murat Topçu

unread,
Mar 21, 2009, 11:21:10 AM3/21/09
to altdotne...@googlegroups.com
Arkadaşlar web sayfaları tasarlarken mesela her gün belirli bir saatte çalışmasını istediğimiz komutları nasıl çalıştırabiliriz.

Ben konuyu biraz araştırdım codeproject'te falan değişik yöntemler kullanılmış. Farklı sitelerde birkaç web cron sitesi verilmiş.

Bazı firmalar ücretli eklentiler falan yapmış. Sql yardımıyla zamanlama yapanlarda var.

Bir tanede multi thread kullanarak bir arkadaş yapmış.

Benim kafama en çok yatan multi thread yapmak oldu ama sanki onunda kendine göre sakıncaları ve eksiklikleri var.

Acaba sizler böyle bir problemi nasıl çözüyorsunuz? Bu konuya yaklaşımınız nedir?

Tuna Toksoz

unread,
Mar 21, 2009, 11:23:29 AM3/21/09
to altdotne...@googlegroups.com
Castle in Components projelerinden biri Scheduler.
Fakat ASP.NET sitelerindeki risklerden biri Recycling. Recycle suresinden uzun bir sure ziyaretci gelmezse zamanlanmis gorevin zamaninda yapilmama ihtimali var.


Tuna Toksöz
Eternal sunshine of the open source mind.

http://devlicio.us/blogs/tuna_toksoz
http://tunatoksoz.com
http://twitter.com/tehlike




2009/3/21 Murat Topçu <mura...@gmail.com>

İlker Aydoğmuş

unread,
Mar 21, 2009, 4:22:49 PM3/21/09
to altdotne...@googlegroups.com
Benden böyle bir şey yapmamı istemişlerdi, yaptım ve hala kullanıyoruz. Global.asax içinde session startta classımı çağırıyorum ve her akşam istediğim işleri verdiğim saatlerde yapıyor. classın içinde saatleri veriyorum, Bu yöntem biraz hardcoded ama iş görüyor. Doğru bir yöntem varsa bende uygulayabilirim =) ..

21 Mart 2009 Cumartesi 17:21 tarihinde Murat Topçu <mura...@gmail.com> yazdı:



--
Sadece ben. Kalbimi duyuyor ve insanları tanıyorum. Gördüklerimden hiçbiri gibi yaratılmamışım; yaşayanlardan hiçbiri gibi yaratılmış olmadığıma inanmak cüretini gösteriyorum. Öteki insanlardan daha iyi değilsem bile, hiç olmazsa başkayım.
J.J. Rousseau

Başka Yollardan Ulaşmak İçin =)

ilker_a...@hotmail.com
ceps = 0 505 485 59 69


Gokhan Demir

unread,
Mar 21, 2009, 6:45:19 PM3/21/09
to altdotne...@googlegroups.com
http://www.codeproject.com/KB/aspnet/ASPNETService.aspx
bu makale isine yarabilir.

2009/3/21 Murat Topçu <mura...@gmail.com>

Tuna Toksoz

unread,
Mar 21, 2009, 6:47:49 PM3/21/09
to altdotne...@googlegroups.com
Castle.Scheduler
2009/3/22 Gokhan Demir <yada...@gmail.com>

Gokhan Demir

unread,
Mar 21, 2009, 6:55:42 PM3/21/09
to altdotne...@googlegroups.com

Tolga Yıkılmaz

unread,
Mar 22, 2009, 3:55:13 AM3/22/09
to altdotne...@googlegroups.com
ben windows servisi yazamadıgım  bir ortamda (hosting fiması nedeniyle) multi thread le halletmiştim sorun çıkardığını hiç görmedim

Tuna Toksoz

unread,
Mar 22, 2009, 4:45:16 AM3/22/09
to altdotne...@googlegroups.com
Framework kullanmak her zman iyidir. Ayrica hali hazirda IoC kullanirsan bunlarla entegrasyonu da kola yolur.
2009/3/22 Tolga Yıkılmaz <tolga.y...@gmail.com>

Murat Topçu

unread,
Mar 22, 2009, 5:57:45 PM3/22/09
to altdotne...@googlegroups.com
Tüm önerileri ayrıntılı incelemeye fırsatım olmadı.

Tuna'nında söylediği gibi en büyük problem bir tetikleyicinin olmaması durumunda görevlerin çalışmama ihtimali.

Gökhan'ın verdiği codeproject sitesinde bulunan örnektete tetikleyicilere ihtiyaç duyuyor. Hatta bu olaylar belli bir süre gerçekleşmezse görevler çalışmaz gibisinden birşeylerde söylemiş. Zaten en büyük problem o :(

Quartz.net ve Castle.Scheduler projelerinide inceleceğim bakalım onlar nasıl çözümlemişler olayı.

Değerli cevaplarınız için teşekkürler.

İyi Çalışmalar.

Murat Topçu


22 Mart 2009 Pazar 10:45 tarihinde Tuna Toksoz <teh...@gmail.com> yazdı:

Hüseyin Tüfekçilerli

unread,
Mar 22, 2009, 6:02:33 PM3/22/09
to altdotne...@googlegroups.com
Quartz.NET'i bir projemde kullandım, süper bir scheduling frameworkü
ancak bahsi geçen ASP.NET scheduling olayı için bir çözümü olduğunu
sanmıyorum.

ASP.NET için böyle bir sorunun garanti çözümü bir Windows NT Service
yazma dışında olmasa gerek. LAMP ortamlarında cPanel içerisinden CRON
job yazılıyor, Windows dünyasındaki hosting çözümlerinde buna bir
karşılık yok heralde?

Murat Topçu wrote:
> Tüm önerileri ayrıntılı incelemeye fırsatım olmadı.
>
> Tuna'nında söylediği gibi en büyük problem bir tetikleyicinin olmaması
> durumunda görevlerin çalışmama ihtimali.
>
> Gökhan'ın verdiği codeproject sitesinde bulunan örnektete
> tetikleyicilere ihtiyaç duyuyor. Hatta bu olaylar belli bir süre
> gerçekleşmezse görevler çalışmaz gibisinden birşeylerde söylemiş.
> Zaten en büyük problem o :(
>
> Quartz.net ve Castle.Scheduler projelerinide inceleceğim bakalım onlar
> nasıl çözümlemişler olayı.
>
> Değerli cevaplarınız için teşekkürler.
>
> İyi Çalışmalar.
>
> Murat Topçu
>
>
> 22 Mart 2009 Pazar 10:45 tarihinde Tuna Toksoz <teh...@gmail.com

> <mailto:teh...@gmail.com>> yazdı:


>
> Framework kullanmak her zman iyidir. Ayrica hali hazirda IoC
> kullanirsan bunlarla entegrasyonu da kola yolur.
>
>
> Tuna Toksöz
> Eternal sunshine of the open source mind.
>
> http://devlicio.us/blogs/tuna_toksoz
> http://tunatoksoz.com
> http://twitter.com/tehlike
>
>
>
>
> 2009/3/22 Tolga Yıkılmaz <tolga.y...@gmail.com

> <mailto:tolga.y...@gmail.com>>


>
> ben windows servisi yazamadıgım bir ortamda (hosting fiması
> nedeniyle) multi thread le halletmiştim sorun çıkardığını hiç
> görmedim
>
> 2009/3/22 Gokhan Demir <yada...@gmail.com

> <mailto:yada...@gmail.com>>

> <mailto:teh...@gmail.com>>


>
> Castle.Scheduler
>
> Tuna Toksöz
> Eternal sunshine of the open source mind.
>
> http://devlicio.us/blogs/tuna_toksoz
> http://tunatoksoz.com
> http://twitter.com/tehlike
>
>
>
>
> 2009/3/22 Gokhan Demir <yada...@gmail.com

> <mailto:yada...@gmail.com>>


>
> http://www.codeproject.com/KB/aspnet/ASPNETService.aspx
> bu makale isine yarabilir.
>
> 2009/3/21 Murat Topçu <mura...@gmail.com

> <mailto:mura...@gmail.com>>


>
> Arkadaşlar web sayfaları tasarlarken mesela
> her gün belirli bir saatte çalışmasını
> istediğimiz komutları nasıl çalıştırabiliriz.
>
> Ben konuyu biraz araştırdım codeproject'te
> falan değişik yöntemler kullanılmış. Farklı
> sitelerde birkaç web cron sitesi verilmiş.
>
> Bazı firmalar ücretli eklentiler falan yapmış.
> Sql yardımıyla zamanlama yapanlarda var.
>
> Bir tanede multi thread kullanarak bir arkadaş
> yapmış.
>
> Benim kafama en çok yatan multi thread yapmak
> oldu ama sanki onunda kendine göre sakıncaları
> ve eksiklikleri var.
>
> Acaba sizler böyle bir problemi nasıl
> çözüyorsunuz? Bu konuya yaklaşımınız nedir?
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

> --~--~---------~--~----~------------~-------~--~----~
> You received this message because you are subscribed to the Google
> Groups "altdotnetturkiye" group.
> To post to this group, send email to altdotne...@googlegroups.com
> To unsubscribe from this group, send email to
> altdotnetturki...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/altdotnetturkiye?hl=en
> -~----------~----~----~----~------~----~------~--~---
>


Murat Topçu

unread,
Mar 22, 2009, 6:24:44 PM3/22/09
to altdotne...@googlegroups.com
Evet en güzel ve kolay çözüm windows servisi yazmak. Ama server bizim değilse hosting kullanıyorsak bunu uygulayamayız.

Server üzerinde yetkiliysek "Zamanlanmış Görevler" veya "Sql Agent" yardımıylada çözümleyebiliriz.

Sql için C# ile fonksiyon yazabildiğimizide düşünürsek ufak bir Web Request koduna bakar hepsi.


İyi Çalışmalar.

Murat Topçu


23 Mart 2009 Pazartesi 00:02 tarihinde Hüseyin Tüfekçilerli <huse...@gmail.com> yazdı:

Sidar Ok

unread,
Mar 22, 2009, 7:13:50 PM3/22/09
to altdotne...@googlegroups.com
Tivoli de var bu dunyada.

2009/3/22 Murat Topçu <mura...@gmail.com>



--
Sidar Ok

http://www.sidarok.com
http://www.twitter.com/sidarok

Tuna Toksoz

unread,
Mar 22, 2009, 7:17:07 PM3/22/09
to altdotne...@googlegroups.com
ya en basiti siteye twitterfeed ayarla belli aralarda gelsin siteyi uyandirsin hehehe
2009/3/23 Sidar Ok <sid...@gmail.com>

Sidar Ok

unread,
Mar 22, 2009, 7:21:16 PM3/22/09
to altdotne...@googlegroups.com
daha basiti windows zamanlanmi$ gorevi ile bi URI i durtmek

2009/3/23 Tuna Toksoz <teh...@gmail.com>

Berke Sokhan

unread,
Mar 23, 2009, 3:33:23 AM3/23/09
to altdotne...@googlegroups.com
@Sidar
Biz TWS kullanıyoruz.

(TWS de zamanlanmış görevler tanımlanıyor bir job stream olarak, içinde web service request dışında hiç bir şey olmayan küçük .exe ciklerimiz bu streamlerde zamanı gelince çalışıyor, ve web request yaparak taskı başlatıyor, service tarafında validasyonlardan sonra asynch business method call u yapılıyor,  .exe sonucu beklemiyor.)

TWS den çok memnun değiliz ama, örneğin INT ve UAT testlerimizde TWS clientının olduğu makinenin zamanını değiştirince (ya da şöyle söyleyelim: TWS server ından farklı bir zaman/tarihte olursa) joblar çalışmıyor...


2009/3/23 Sidar Ok <sid...@gmail.com>



--
Berke SOKHAN

Mustafa Dingil

unread,
Apr 18, 2009, 4:24:23 AM4/18/09
to altdotne...@googlegroups.com

mtahiroglu

unread,
Apr 19, 2009, 11:55:22 AM4/19/09
to altdotnetturkiye
http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/
adresindeki cache invalidation yönteminin sağlıklı olmadığını kendi
testlerimde görmüştüm. çünkü app pool'lar özellikle değiştirmedikçe,
belli bir süre request yokluğunda uykuya dalıyor. bu uyku anında,
sizin cache invalidation saatiniz gelse de çalışmıyor. bu scheduled
job'ınızın çalışmayacağı anlamına gelir. ta ki biri siteye ilk
request'i atıp process'i uyandırsın.

neticede, asp.net ile zamanlanmış iş yapmak çok sıkıntılıdır. allah
yardım etsin. imkanınıza varsa kendi sunucunuza ya windows scheduled
job kurarsınız ya da windows servisi.
> 2009/3/23 Berke Sokhan <berkesok...@gmail.com>
>
> > @Sidar
> > Biz TWS kullanıyoruz.
>
> > (TWS de zamanlanmış görevler tanımlanıyor bir job stream olarak, içinde web
> > service request dışında hiç bir şey olmayan küçük .exe ciklerimiz bu
> > streamlerde zamanı gelince çalışıyor, ve web request yaparak taskı
> > başlatıyor, service tarafında validasyonlardan sonra asynch business method
> > call u yapılıyor,  .exe sonucu beklemiyor.)
>
> > TWS den çok memnun değiliz ama, örneğin INT ve UAT testlerimizde TWS
> > clientının olduğu makinenin zamanını değiştirince (ya da şöyle söyleyelim:
> > TWS server ından farklı bir zaman/tarihte olursa) joblar çalışmıyor...
>
> > 2009/3/23 Sidar Ok <sida...@gmail.com>
>
> >> daha basiti windows zamanlanmi$ gorevi ile bi URI i durtmek
>
> >> 2009/3/23 Tuna Toksoz <tehl...@gmail.com>
>
> >> ya en basiti siteye twitterfeed ayarla belli aralarda gelsin siteyi
> >>> uyandirsin hehehe
>
> >>> Tuna Toksöz
> >>> Eternal sunshine of the open source mind.
>
> >>>http://devlicio.us/blogs/tuna_toksoz
> >>>http://tunatoksoz.com
> >>>http://twitter.com/tehlike
>
> >>> 2009/3/23 Sidar Ok <sida...@gmail.com>
>
> >>>>  Tivoli de var bu dunyada.
>
> >>>> 2009/3/22 Murat Topçu <murat...@gmail.com>
>
> >>>>  Evet en güzel ve kolay çözüm windows servisi yazmak. Ama server bizim
> >>>>> değilse hosting kullanıyorsak bunu uygulayamayız.
>
> >>>>> Server üzerinde yetkiliysek "Zamanlanmış Görevler" veya "Sql Agent"
> >>>>> yardımıylada çözümleyebiliriz.
>
> >>>>> Sql için C# ile fonksiyon yazabildiğimizide düşünürsek ufak bir Web
> >>>>> Request koduna bakar hepsi.
>
> >>>>> İyi Çalışmalar.
>
> >>>>> Murat Topçu
>
> >>>>> 23 Mart 2009 Pazartesi 00:02 tarihinde Hüseyin Tüfekçilerli <
> >>>>> husey...@gmail.com> yazdı:
>
> >>>>> Quartz.NET'i bir projemde kullandım, süper bir scheduling frameworkü
> >>>>>> ancak bahsi geçen ASP.NET scheduling olayı için bir çözümü olduğunu
> >>>>>> sanmıyorum.
>
> >>>>>> ASP.NET için böyle bir sorunun garanti çözümü bir Windows NT Service
> >>>>>> yazma dışında olmasa gerek. LAMP ortamlarında cPanel içerisinden CRON job
> >>>>>> yazılıyor, Windows dünyasındaki hosting çözümlerinde buna bir karşılık yok
> >>>>>> heralde?
>
> >>>>>> Murat Topçu wrote:
>
> >>>>>>> Tüm önerileri ayrıntılı incelemeye fırsatım olmadı.
>
> >>>>>>> Tuna'nında söylediği gibi en büyük problem bir tetikleyicinin
> >>>>>>> olmaması durumunda görevlerin çalışmama ihtimali.
>
> >>>>>>> Gökhan'ın verdiği codeproject sitesinde bulunan örnektete
> >>>>>>> tetikleyicilere ihtiyaç duyuyor. Hatta bu olaylar belli bir süre
> >>>>>>> gerçekleşmezse görevler çalışmaz gibisinden birşeylerde söylemiş. Zaten en
> >>>>>>> büyük problem o :(
>
> >>>>>>> Quartz.net ve Castle.Scheduler projelerinide inceleceğim bakalım
> >>>>>>> onlar nasıl çözümlemişler olayı.
>
> >>>>>>> Değerli cevaplarınız için teşekkürler.
>
> >>>>>>> İyi Çalışmalar.
>
> >>>>>>> Murat Topçu
>
> >>>>>>> 22 Mart 2009 Pazar 10:45 tarihinde Tuna Toksoz <tehl...@gmail.com<mailto:
> >>>>>>> tehl...@gmail.com>> yazdı:
>
> >>>>>>>    Framework kullanmak her zman iyidir. Ayrica hali hazirda IoC
> >>>>>>>    kullanirsan bunlarla entegrasyonu da kola yolur.
>
> >>>>>>>    Tuna Toksöz
> >>>>>>>    Eternal sunshine of the open source mind.
>
> >>>>>>>    http://devlicio.us/blogs/tuna_toksoz
> >>>>>>>    http://tunatoksoz.com
> >>>>>>>    http://twitter.com/tehlike
>
> >>>>>>>    2009/3/22 Tolga Yıkılmaz <tolga.yikil...@gmail.com
> >>>>>>>    <mailto:tolga.yikil...@gmail.com>>
>
> >>>>>>>        ben windows servisi yazamadıgım  bir ortamda (hosting fiması
> >>>>>>>        nedeniyle) multi thread le halletmiştim sorun çıkardığını hiç
> >>>>>>>        görmedim
>
> >>>>>>>        2009/3/22 Gokhan Demir <yadaz...@gmail.com
> >>>>>>>        <mailto:yadaz...@gmail.com>>
>
> >>>>>>>            http://sourceforge.net/projects/quartznet
>
> >>>>>>>            2009/3/22 Tuna Toksoz <tehl...@gmail.com
> >>>>>>>            <mailto:tehl...@gmail.com>>
>
> >>>>>>>                Castle.Scheduler
>
> >>>>>>>                Tuna Toksöz
> >>>>>>>                Eternal sunshine of the open source mind.
>
> >>>>>>>                http://devlicio.us/blogs/tuna_toksoz
> >>>>>>>                http://tunatoksoz.com
> >>>>>>>                http://twitter.com/tehlike
>
> >>>>>>>                2009/3/22 Gokhan Demir <yadaz...@gmail.com
> >>>>>>>                <mailto:yadaz...@gmail.com>>
>
> >>>>>>>http://www.codeproject.com/KB/aspnet/ASPNETService.aspx
> >>>>>>>                    bu makale isine yarabilir.
>
> >>>>>>>                    2009/3/21 Murat Topçu <murat...@gmail.com
> >>>>>>>                    <mailto:murat...@gmail.com>>

Sidar Ok

unread,
Apr 19, 2009, 3:26:17 PM4/19/09
to altdotne...@googlegroups.com
Bi de $u var tabii, diyelim ki IIS down, nolacak, vaz mi gececegiz batch job dan ?

2009/4/19 mtahiroglu <muci...@gmail.com>
Reply all
Reply to author
Forward
0 new messages