我正在編寫一個插件nopcommerce任務。任務必須從網站下載目錄(https://data.icecat.biz/export/level4/)。如果由於某種原因下載失敗,我希望我的程序等待一分鐘,然後重試幾次。我應該在nopcommerce任務中使用Thread.Sleep或Task.Delay嗎?
e.g
while(notTiredOfWaiting)
{
try{
// my download stuff here
return data;
}
catch(Exception e)
{
Thread.Sleep(60000);
// or
Task.Delay(60000);
}
}
我的問題是nopcommerce是某種黑盒,其啓動並運行我的任務。 「簡單」的解決方案是使用Thread.Sleep(),但我不知道是否有其他重要的進程在同一個線程上運行。我試過Task.Delay(),但它似乎並沒有在我的實現中工作。
我知道Thread.Sleep與Task.Delay()是SO上的熱門話題,但我要求的是nopCommerce中最佳實踐的具體答案。
編輯。
該任務正在使用IScheduleTaskService。
你使用的是'IScheduleTaskService'嗎?或者你正在創建自己的任務計劃? – Max
@ max。我使用IScheduleTaskService。 –