MLXY 2019-12-04
需要用hangfire做一个每天执行的定时任务。
首先看了下hangfire文档,发现需要生成表,而数据库目前只支持SQLServer、redis、PostgreSQL、mongoDB、C1 CMS,而我目前使用的数据库是oracle,考虑到每天执行 数据量不大就使用redis了。
redis官网只支持linux,windons在GitHub下载。
然后找到了一篇文章https://www.cnblogs.com/yhnx/p/9186140.html,实测可行。
主要用到Hangfire.AspNetCore
和Hangfire.Redis.StackExchange这两个包
public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddHangfire(configuration => { configuration.UseRedisStorage("localhost"); }); } public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { app.UseHangfireServer(); app.UseHangfireDashboard(); app.Map("/index", r => { r.Run(context => { //任务每天执行一次 RecurringJob.AddOrUpdate(() => 执行方法, Cron.Daily()); return context.Response.WriteAsync("ok."); }); }); } }