HangFire的定时任务和Quartz.NET总结(三)Quartz 配置

在一个Net Core需求中,需要在每天的凌晨三点去抓取两个电商仓库的剩余的每个料号的数量来写会自己的表中,

用到了HangFire的定时任务

这篇文章讲的很详细记录下   文章2  这篇更简单

Quartz.NET总结(三)Quartz 配置

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            app.UseHangfireServer();
            app.UseHangfireDashboard("/hangfire",
                               new DashboardOptions()
                               {
                                   Authorization = new[] { new Code.HangfireMyAuthorizeFilter() }
                               });
        
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                //BackgroundJob.Enqueue<Inv.InventoryTransfer>(x => x.SyncTransfer("Commercial"));
                

            }
            else
            {
                //Bob add  设置每天凌晨三点获取一次即时库存
                string Cron_GetIMInventory = Configuration.GetSection("AppSettings").GetValue<string>("CronGetIMInventory");//获取到每天的凌晨三点钟               
                RecurringJob.AddOrUpdate<DS.PutOMSOrder>("PutOMSOrder", x =>
                            x.GetIMInventory(), Cron_GetIMInventory, System.TimeZoneInfo.Local);

                app.UseExceptionHandler("/Error");
                app.UseHsts();
            }           

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();
            app.UseMvc();
            app.Run(async (context) =>
            {
               await context.Response.WriteAsync("Hello World!");
            });

        }

  

转载于:https://www.cnblogs.com/ZkbFighting/p/10531451.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 .NET Core 中可以使用多种方式来实现定时任务,其中比较常用的是使用 Quartz.NETHangfire。以下是简单的介绍: 1. Quartz.NETQuartz.NET 是一个功能强大、开源的定时任务框架,可以支持复杂的调度需求。使用 Quartz.NET 可以通过简单的配置和编程实现定时任务的调度和管理。 2. HangfireHangfire 是一个开源的 .NET 库,可以实现在 ASP.NET 和 .NET Core 应用程序中运行后台任务定时任务Hangfire 支持多种存储方式,包括内存、Redis、SQL Server 等,可以非常方便地进行任务调度和管理。 无论使用哪种方式,我们都需要定义任务,例如: ```csharp public class MyJob { public void Run() { // 执行具体的业务逻辑 } } ``` 然后根据具体的框架和需求,配置任务调度和管理,例如: ```csharp // 使用 Quartz.NET var scheduler = new StdSchedulerFactory().GetScheduler(); var job = JobBuilder.Create<MyJob>().Build(); var trigger = TriggerBuilder.Create() .WithIdentity("trigger1", "group1") .StartNow() .WithSimpleSchedule(x => x .WithIntervalInSeconds(10) .RepeatForever()) .Build(); scheduler.ScheduleJob(job, trigger); scheduler.Start(); // 使用 Hangfire RecurringJob.AddOrUpdate<MyJob>("job1", job => job.Run(), Cron.Minutely); ``` 其中,Quartz.NET 中的 `Job` 和 `Trigger` 分别表示任务和触发器,Hangfire 中的 `RecurringJob` 表示定时任务。以上只是简单的示例,具体实现还需要根据实际需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值