有时您可能希望推迟方法调用;例如,在新注册用户注册后的一天向其发送电子邮件。为此,只需调用BackgroundJob.Schedule方法并传递所需的延迟:
BackgroundJob.Schedule(
() => Console.WriteLine("Hello, world"),
TimeSpan.FromDays(1));
Hangfire Server定期检查计划,将计划的作业排入队列,允许工人执行它们。默认情况下,检查间隔等于15秒,但您可以通过在传递给BackgroundJobServer构造函数的选项上设置SchedulePollingInterval属性来更改它:
var options = new BackgroundJobServerOptions
{
SchedulePollingInterval = TimeSpan.FromMinutes(1)
};
var server = new BackgroundJobServer(options);
如果正在ASP.NET应用程序内处理作业,则应执行以下步骤以确保在正确的时间执行计划作业:
- 禁用空闲超时–将其值设置为0。
- 使用应用程序自动启动功能。