Как вызвать вторую повторяющуюся работу через минуту после первой? - PullRequest
0 голосов
/ 31 марта 2020

У меня есть две повторяющиеся работы.

Первый вызов метода MethodOne () каждые 20 секунд

Второй вызов метода MethodTwo () каждые 20 секунд.

Я хочу, чтобы второй запускался через 1 минуту после первого метода, чтобы они никогда не запускались одновременно.

В настоящее время это мой код. Это не работает, потому что обе работы начинаются одновременно.

     RecurringJob.AddOrUpdate<MethodCaller>(a => a.MethodOne(), "*/20 * * * * *"); 
     Thread.Sleep(60000);
     RecurringJob.AddOrUpdate<MethodCaller>(a => a.MethodTwo(), "*/20 * * * * *");

Оба метода MethodOne () и MethodTwo () являются недействительными. У них обоих есть одна строка кода.

     Debug.Writeline("Method Called");

1 Ответ

1 голос
/ 31 марта 2020

Используя обычный System.Threading.Timer , вы можете указать время и период отдельно. Таким образом, вы можете иметь одинаковый период, но разные задержки. Не знаком с Hangfire, поэтому я не могу предложить, как использовать это, чтобы сделать то же самое.

Другой вариант - позволить первому заданию вызвать второе задание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...