我试图每天在9:00 AM执行hangfire定期工作。这是我想做的-
RecurringJob.AddOrUpdate(() => MyMethod(), "* 9 * * *");
我应该把这行代码放在哪里?
抱歉,这是一个愚蠢的问题。
最佳答案
假设您正在使用.Net Core
,您可以在其中找到文件startup.cs
。在那您可以找到Configure()
方法。在该方法内部,您可以在app.UseHangfireDashboard()
和app.UseHangfireServer()
之后使用该行,用于配置hangfire仪表板,这是可选的。别忘了使用ConfigureServices()
本身中的startup.cs
方法注册Hangfire服务。
您可以在 Startup.cs 中的ConfigureServices()
中注册Hangfire服务
public void ConfigureServices(IServiceCollection services)
{
/*
other services
*/
services.AddHangfire(x => x.UseSqlServerStorage("YOUR_HangfireServerConnectionString"));
/*
services.AddMvc()
*/
}
您可以在 Startup.cs 中的
Configure()
内设置Hangfire Cron public void Configure(IApplicationBuilder app)
{
app.UseHangfireDashboard();
app.UseHangfireServer();
RecurringJob.AddOrUpdate(() => MyMethod(), "* 9 * * *");
}
有关更多信息,请引用link
更新
cron表达式
* 9 * * *
表示作业将在系统时间UTC时间9(24小时格式)之后每分钟触发一次。要在每天的9:00 AM创建周期性工作,表达式应为
0 9 * * *
,请参见此处cron expressions
关于asp.net-mvc - 每天在特定时间进行Hangfire定期性工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49627893/