Я кодирую задачу в плагине для nopcommerce. Задача должна загрузить каталог с веб-сайта (https://data.icecat.biz/export/level4/). Если загрузка по какой-то причине не выполняется, я хочу, чтобы моя программа подождала минуту, а затем повторите попытку пару раз.Должен ли я использовать Thread.Sleep или Task.Delay в задаче nopcommerce?
например
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. –