Hangfire в WebApi с Autofac: задание не запущено

Я использую Hangfire с Hangfire.MemoryStorage в своем приложении WebApi.

Я настроил Hangfire в своем owin startup.cs:

 Hangfire.GlobalConfiguration.Configuration.UseMemoryStorage();
 app.UseHangfireServer();

И я пытаюсь использовать активацию задания в контроллере

var jobId = BackgroundJob.Schedule(
                    () => ForceMissionEmail(mission.Guid),
                    TimeSpan.FromSeconds(10));

Код выполняется без ошибок, но метод ForceMissionEmail не вызывается через 10 секунд.


person cpiock    schedule 04.02.2017    source источник
comment
Попробуйте использовать метод Enqueue для IBackgroundJobClient, чтобы проверить, правильно ли настроен Hangfire.   -  person Chirdeep Tomar    schedule 04.02.2017
comment
enqueue не выдает ошибку, но мой метод не был вызван var jobId = BackgroundJob.Enqueue(() => ForceMissionEmail(mission.Guid));   -  person cpiock    schedule 06.02.2017
comment
Я думаю, вам следует попробовать добавить консольный регистратор docs.hangfire .io/en/latest/configuration/   -  person GôTô    schedule 06.02.2017


Ответы (1)


Использование пакета Hangfire.Autofac Nuget и следующих строк кода решает мою проблему

IContainer container = AutoFacConfig.Register(config, app);
Hangfire.GlobalConfiguration.Configuration.UseAutofacActivator(container);
Hangfire.GlobalConfiguration.Configuration.UseMemoryStorage();
app.UseHangfireServer();
person cpiock    schedule 06.02.2017