Я пытаюсь использовать HangFire для постановки в очередь методов, чтобы я мог имитировать различные вызовы одного и того же метода.
Поскольку я не использую какую-либо базу данных, я использую следующие пакеты Nuget:
Hangfire(1.7.7)
Hangfire.MemoryStorage(1.6.3)
Это .Net Core 3 WEB Api-проект, поэтому при запуске я добавляю сервис как:
services.AddHangfire(config => config
.SetDataCompatibilityLevel(CompatibilityLevel.Version_170)
.UseSimpleAssemblyNameTypeSerializer()
.UseRecommendedSerializerSettings()
.UseMemoryStorage()
);
Вызов следующий: (из API)
#region HTTPOST Methods
[HttpPost("aroute")]
public async Task<bool> Send([FromBody] Domain.Person person)
{
var result = await _manager.Send(fax);
return result;
}
#endregion
Класс менеджера:
public Task<bool> Send(Domain.Person person)
{
BackgroundJob.Enqueue<IDummyProvider>(x => x.CheckStatus(person.personId));
return Task.FromResult(true);
}
Я могу ставить в очередь различное количество заданий, но они никогда не отправляются, я ждал более 15 секунд, я вижу их на приборной панели.
Любые идеи, почемуэто?
Что я собираюсь попробовать, это поставить следующую строку
services.AddHangfireServer();
и посмотреть, работает ли она.