PDA

View Full Version : اجرای یک تابع در ساعتی مشخص



sara_aryanfar
دوشنبه 19 تیر 1391, 15:44 عصر
با سلام خدمت دوستان من نیاز دارم تا یک تابع که مسئول انجام کاری هست هر 5 ساعت یک بار اجرا بشه برای اینکار جستجوهایی کردم که متوجه شدم این کار همون Task Scheduler هست
بعد با dll آقای خلیل زاده بود فکر کنم برخورد کردم البته برا من کار نکرد اما ظاهرا برنامه ایشون هم نیاز به ریکوئست داشتن حالا دوستان چه راهی رو برای این کار من پیشنهاد می کنن
تابع راس هر 5 ساعت اجرا بشه حتی اگر هیچ کاربری وارد سایت نشده باشه ؟

alonemm
دوشنبه 19 تیر 1391, 15:50 عصر
باسلام:

معمولا کنترل پنل های سایت دارای یک گزینه به نام Corn Jobs هستند که شما میتونید یک صفحه رو که یک عملیات خاصی انجام میده رو در یک بازه زمانی خاص اجرا کنید.


موفق باشید.

sara_aryanfar
دوشنبه 19 تیر 1391, 15:59 عصر
Corn Jobs در کنترل پنل های سی پنل دیدم اما تو ویندوز ندیدم کجاست؟در ثانی تصور می کنم اون زبان برنامه نویسی خاصی داشته باشه مثل پرل

TeacherMath
دوشنبه 19 تیر 1391, 16:29 عصر
از تایمر در فایل global موقع application_start استفاده کنید..
http://msdn.microsoft.com/en-us/library/system.threading.timercallback.aspx

alonemm
دوشنبه 19 تیر 1391, 17:02 عصر
Corn Jobs در کنترل پنل های سی پنل دیدم اما تو ویندوز ندیدم کجاست؟در ثانی تصور می کنم اون زبان برنامه نویسی خاصی داشته باشه مثل پرل

دوست عزیز:

Corn Jobs در کنترل پنل ویندوز هم هست با یک نام دیگر. نام کنترل پنلتون رو ذکر کنید و یا از تیم پشتیبانی سوال کنید.
به زبان خاصی مربوط نمیشه و فقط صفحه رو 1 بار اجرا میکنه.


موفق باشید.

sara_aryanfar
دوشنبه 19 تیر 1391, 19:00 عصر
در پنل من websitepanel
یه گزینه داره به نام Scheduled Task ولی فقط تعدادی عمل خاص قابل تعریف هستش

sara_aryanfar
دوشنبه 19 تیر 1391, 19:01 عصر
از تایمر در فایل global موقع application_start استفاده کنید..
http://msdn.microsoft.com/en-us/library/system.threading.timercallback.aspx
ظاهرا اونطور که بنده فهمیدم استفاده از تایمر صحیح نیست برا اینکار

sara_aryanfar
چهارشنبه 21 تیر 1391, 23:37 عصر
من در حال حاضر از WebTaskScheduler و فایل آقای خلیل زاده استفاده می کنم اما ظاهرا مشکلاتی داره و خود به خود متوقف میشه دوستان کسی راه دیگری نداره برای اینکه یک تابع در فواصل زمانی و به صورت دائم اجرا بشه؟

clover
پنج شنبه 22 تیر 1391, 08:10 صبح
http://www.codeproject.com/Articles/215665/Scheduling-a-task-in-ASP-NET
http://msdn.microsoft.com/en-us/magazine/cc163821.aspx

http://keyvan.io/how-to-build-a-task-scheduler-system-for-the-asp-net-part-1
http://keyvan.io/how-to-build-a-task-scheduler-system-for-the-asp-net-part-2

http://barnamenevis.org/showthread.php?189271-Task-Scheduler-in-Asp.net

sara_aryanfar
پنج شنبه 22 تیر 1391, 10:48 صبح
با تشکر من از کدی که در این دولینک بود استفاده کردم http://keyvan.io/how-to-build-a-task...asp-net-part-1 (http://keyvan.io/how-to-build-a-task-scheduler-system-for-the-asp-net-part-1)
http://keyvan.io/how-to-build-a-task...asp-net-part-2 (http://keyvan.io/how-to-build-a-task-scheduler-system-for-the-asp-net-part-2)
اما ظاهرا دوبار اجرا میشه نتایج به دست آمده
03/20/2012 06:39:09 ب.ظ
03/20/2012 06:39:09 ب.ظ
03/20/2012 06:39:59 ب.ظ
03/20/2012 06:39:59 ب.ظ
03/20/2012 06:40:49 ب.ظ
03/20/2012 06:40:49 ب.ظ
03/20/2012 06:41:39 ب.ظ
03/20/2012 06:41:39 ب.ظ
03/20/2012 06:42:29 ب.ظ
03/20/2012 06:42:29 ب.ظ
03/20/2012 06:43:19 ب.ظ
03/20/2012 06:43:19 ب.ظ

clover
پنج شنبه 22 تیر 1391, 17:31 عصر
اما ظاهرا دوبار اجرا میشه نتایج به دست آمده
ظاهرا یک نفر دیگه هم مشکل شما رو داشته:



There is an issue on this code.
It hit twice the thread that execute the task.
I'm using .Net 4
The problem is because when you instantiate the scheduller inline the code is called twice, if you instantiate on application_start the code runs very well.
http://keyvan.io/how-to-build-a-task-scheduler-system-for-the-asp-net-part-2#comment-2758