代码之家  ›  专栏  ›  技术社区  ›  Josh

航火服务未运行

  •  0
  • Josh  · 技术社区  · 1 年前

    我试图在ASP中使用Hangfire作为后台作业。Net Core 7 Web API项目。 当我启动应用程序并查看控制台日志时,它显示了以下内容

    enter image description here

    似乎挂起了火,但我的应用程序从未发送过它应该发送的电子邮件。

    我按如下方式呼叫该服务:

    BackgroundJob.Enqueue(() => SendEmailConfirmationToken(sentToken, newUser));
    

    当我查看Hangfire仪表板时,我看到作业已排队,但从未执行过

    enter image description here

    这些是我应用程序中的Hangfire包和版本

     <PackageReference Include="Hangfire.AspNetCore" Version="1.8.3" />
    <PackageReference Include="Hangfire.Core" Version="1.8.3" />
    <PackageReference Include="Hangfire.PostgreSql" Version="1.19.12" />
    

    但当我这样做的时候,

    Task.Run(async () => SendEmailConfirmationToken(sentToken, newUser));
    

    电子邮件已发送。

    所以,我知道问题不是来自SendEmailConfirmationToken()方法;

    请问我该如何解决这个问题?

    0 回复  |  直到 1 年前
        1
  •  0
  •   Josh    1 年前

    抱歉,我刚刚发现在将hangfire服务添加到我的应用程序时,我省略了program.cs文件中的以下行

    builder.Services.AddHangfireServer();
    

    这就是问题所在。 我已经添加了它,Hangfire现在正在按预期工作。谢谢你的帮助