views:

582

answers:

2

While this question is particular to Azure, I'm sure that it is a common situation for cloud computing in general.

I have a list of tasks that I need run at a certain time. With a window's server, I can use Task Scheduler and schedule my program to run at a certain time. I could go a step further and create a windows service that would run at a given interval and then execute the appropriate task.

Does anyone have a suggestion on the best approach is for a cloud computing environment?

I could create a worker role that polls the task list every second and then throws the appropriate task into a queue that is processed by another worker role.

I could create a worker role that would run once a day, grab all the tasks and submit them to a queue. The processor roles would then pull an item off the queue and process at the appropriate time.

Any other suggestions?

A: 

Duplicate of: http://stackoverflow.com/questions/507247/recommend-a-c-task-scheduling-library which recommends Quartz.Net. I have recently worked on a project that used this successfully under Windows.

Mitch Wheat
Thanks for the link. That looks like a great library.However, at this point, I'm interested in best practices and architectural approaches.
A: 

Have you considered using variable expiration dates of items on an Azure queue?

I came across a novel approach for scheduling that should work on Azure too. Using ASP.NET Cache item callbacks. Here.

TreeUK