我有一個簡單的Azure工作者角色在每天下午12點執行一項任務。以下是完成此操作的代碼。如何在Windows Azure工作角色中安排任務
public override void Run()
{
try
{
while (true)
{
int time = Convert.ToInt32(DateTime.Now.TimeOfDay);
if (time == 12)
{
DoSomethingElse();
}
}
}
catch (Exception ex)
{
Log.Add(ex, true);
}
}
這裏DoSomethingElse()
是在每天下午12點發送電子郵件的方法,同時也觸發一次,並每天只有一次。
我如何能實現調度時,時間是晚上12點火和執行DoSomethingElse()
。
我的問題是:這是(上面的代碼)是最好的方法或使用任何第三方工具。
可能重複的 - 我怎麼運行的Web服務調用一個函數每隔一小時的工作嗎? ](http://stackoverflow.com/questions/8548159/azure-how-do-i-run-a-job-that-calls-a-function-in-the-webservice-every-hour) –
在一邊 - 注意,上面的代碼會導致嚴重的循環,CPU以100%的比例持續運行,並可能導致Azure重新啓動您的輔助角色。你至少需要在那裏發表睡眠聲明。或者使用計時器等待。但是,無論如何,由於多實例,您需要像調用Makogon所說的那樣尋找其他調度的答案。 – Frans