hangfire中的周期性作业未触发

jck*_*jck 2 c# hangfire

无论我使用什么计划,都不会触发我在Hangfire中进行的定期工作。我试图使用它BackgroundJob只是为了确保某些东西可以正常工作。我还检查了数据库,并使用计划的作业正确填充了“哈希”表。

这是我正在使用的代码:

try
{
    using(var server = new BackgroundJobServer(serverOptions,storage))
    {
        Log("Hangfire server started");
        RecurringJob.AddOrUpdate("Mail", () =>
                 _notificationHelper.SendEmail(result)
                 , Cron.MinuteInterval(1), TimeZoneInfo.Local
             );

        //BackgroundJob.Enqueue(() => _notificationHelper.SendEmail(result));
    } 
}
Run Code Online (Sandbox Code Playgroud)

那我在做什么错呢?

Dea*_*two 6

如果您查看Hangfire仪表板,它将告诉您正在运行多少BackgroundJobServer。如果运行的BackgroundJobServers数量为零,则Hang​​fire将不执行任何操作,直到启动一个。

在此处输入图片说明

由于您使用的BackgroundJobServer一个using,创建循环作业后布置。在BackgroundJobServer具有当重复性作业被触发,否则不会创建任何工作活跃。您可以BackgroundJobServer在程序的开头启动,并在关闭程序时将其处置。或者,您可以BackgroundJobServer在单独的Windows服务应用程序中运行,以便在打开计算机电源时始终在后台运行它。

要了解有关设置后台服务器的更多信息,请参见:http : //docs.hangfire.io/en/latest/background-processing/