Como invocar métodos assíncronos no Hangfire?
Eu tenho o aplicativo principal da API do asp.net e é a primeira vez que usarei o HangFire.
No aplicativo .Net Core, todos os meus métodos são assíncronos. Baseado emSO Post não é uma boa ideia usarwait()
ao chamar o método assíncrono no hangfire.
Também de acordo com oproblema de suporte do hangfire na v1.6.0, foi adicionado suporte assíncrono. Estou usando a versão 1.6.12, mas ainda não vejo suporte assíncrono.
Como chamo o método assíncrono deEnqueue
. Atualmente estou usandowait()
public class MyController : Controller
{
private readonly Downloader _downlaoder;
private readonly IBackgroundJobClient _backgroungJobClient;
public MyController(Downloader downloader, IBackgroundJobClient backgroungJobClient)
{
_downlaoder = downloader;
_backgroungJobClient = backgroungJobClient;
}
[HttpPost]
public void Post([FromBody]IEnumerable<string> files)
{
_backgroungJobClient.Enqueue(() => _downloader.DownloadAsync(files).Wait());
}
}