Следующее выполнение и последнее выполнение являются N/A в повторяющихся заданиях — зависание

У меня есть этот код для повторяющегося задания, и он вызывает BackgroundJob.Enqueue

RecurringJob.AddOrUpdate("indexes-scheduler", () => AppBuilderExtensions.checkIndexDate(), Cron.Minutely);

и если я проверяю панель инструментов после запуска проекта, последнее выполнение и следующее выполнение показывают N/A.

Я попытался запланировать простую работу

RecurringJob.AddOrUpdate("tests-job", () => Console.WriteLine("This job will execute once in every minute"), Cron.Minutely);

Но все равно введите здесь описание изображения


person Himanshu Chopra    schedule 16.10.2018    source источник
comment
Может быть, разница во времени просто слишком мала для отображения? Работа может быть легко выполнена за миллисекунды. И эта штука, похоже, рассчитана на время, близкое к секундам или минутам. Сообщив вам, что последнее задание было выполнено 8 мс назад, а следующее должно быть выполнено через 8 мс, вы потеряете любое значение за время, необходимое для доставки вам этого сообщения за 16 мс.   -  person Christopher    schedule 16.10.2018
comment
Я также пытался увеличить временной интервал, а также вызывающий метод в повторяющемся задании никогда не срабатывает (имеет точку останова).   -  person Himanshu Chopra    schedule 16.10.2018


Ответы (1)


Хорошо, я заработал с помощью этого скрипта, а также попытался удалить все серверы из таблицы Hangfire.Server.

 TRUNCATE TABLE [HangFire].[AggregatedCounter]
 TRUNCATE TABLE [HangFire].[Counter]
 TRUNCATE TABLE [HangFire].[JobParameter]
 TRUNCATE TABLE [HangFire].[JobQueue]
 TRUNCATE TABLE [HangFire].[List]
 TRUNCATE TABLE [HangFire].[State]
 TRUNCATE TABLE [HangFire].[Server]
 DELETE FROM [HangFire].[Job]
 DBCC CHECKIDENT ('[HangFire].[Job]', reseed, 0)
 UPDATE [HangFire].[Hash] SET Value = 1 WHERE Field = 'LastJobId'

и в конечном итоге воссоздал эти серверы, используя этот

app.UseHangfireServer();

Этот трюк у меня сработал.

person Himanshu Chopra    schedule 16.10.2018