Hangfire 使 运行 个重复作业延迟
Hangfire keeps running recurring jobs late
所以我有几个定期工作应该在某个时间 运行:
RecurringJob.AddOrUpdate(() => Runner.SendTestEmail(), Cron.Daily, TimeZoneInfo.Local);
RecurringJob.AddOrUpdate(() => Runner.CleanProjectFiles(), "0 0 * * *", TimeZoneInfo.Local);
RecurringJob.AddOrUpdate(() => Runner.IPAudit(), Cron.Daily, TimeZoneInfo.Local);
这些都应该在午夜 运行,但它们在一天中的所有时间都在 运行。
上次我所有的午夜作业 运行 是在 5:13 上午。
我检查了托管站点的时间和时区,我将 QueuePollInterval 设置为 15 秒,但事情仍然 运行 晚了几个小时。
SQL 框与托管网站的框不同,但我确保也检查了那里的时间,以确保一切都是一样的。
有人对我如何解决这个问题有什么建议吗?
我必须在 IIS 中配置什么吗?
谢谢 UtopiaLtd,你的回答很完美。
Is your app pool set to recycle with no traffic? With Hangfire, if a tree is scheduled to fall in the forest, it will wait to make a sound until there's someone to hear it, so to speak. The app pool needs to be alive for Hangfire to run
所以我有几个定期工作应该在某个时间 运行:
RecurringJob.AddOrUpdate(() => Runner.SendTestEmail(), Cron.Daily, TimeZoneInfo.Local);
RecurringJob.AddOrUpdate(() => Runner.CleanProjectFiles(), "0 0 * * *", TimeZoneInfo.Local);
RecurringJob.AddOrUpdate(() => Runner.IPAudit(), Cron.Daily, TimeZoneInfo.Local);
这些都应该在午夜 运行,但它们在一天中的所有时间都在 运行。
上次我所有的午夜作业 运行 是在 5:13 上午。
我检查了托管站点的时间和时区,我将 QueuePollInterval 设置为 15 秒,但事情仍然 运行 晚了几个小时。
SQL 框与托管网站的框不同,但我确保也检查了那里的时间,以确保一切都是一样的。
有人对我如何解决这个问题有什么建议吗?
我必须在 IIS 中配置什么吗?
谢谢 UtopiaLtd,你的回答很完美。
Is your app pool set to recycle with no traffic? With Hangfire, if a tree is scheduled to fall in the forest, it will wait to make a sound until there's someone to hear it, so to speak. The app pool needs to be alive for Hangfire to run