前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【BlogBook书】9、Quartz.Job:任务调度

【BlogBook书】9、Quartz.Job:任务调度

作者头像
老张的哲学
发布2024-02-22 15:48:14
1010
发布2024-02-22 15:48:14
举报
文章被收录于专栏:NetCore 从壹开始NetCore 从壹开始

框架高度集成Quartz.Job组件作为任务调度方案,并且在Admin管理后台,有丰富的界面可以进行Web页面配置。

不仅支持按次数执行,也支持Cron表达式定时执行。

同时也支持类模式和接口模式两种方式逻辑设计方式。

一、相关的依赖注入配置

代码语言:javascript
复制
// 服务注册
builder.Services.AddJobSetup();
services.AddHostedService<QuartzJobHostedService>();//在InitializationHostServiceSetup.cs中

相关参数设置

代码语言:javascript
复制
// 默认在项目启动的时候,自动检测任务调度是否启动,并将开启的任务,自动加载到内存中等待被调用
  "Middleware": {
    "QuartzNetJob": {
      "Enabled": true
    },
  }

二、使用方式

1、类模式

需要手动写代码逻辑,然后继承到IJob接口,并将这个类配置到数据库表中

代码语言:javascript
复制
public class Job_Blogs_Quartz : JobBase, IJob
{
    private readonly IBlogArticleServices _blogArticleServices;

    public Job_Blogs_Quartz(IBlogArticleServices blogArticleServices, ITasksQzServices tasksQzServices, ITasksLogServices tasksLogServices)
        : base(tasksQzServices, tasksLogServices)
    {
        _blogArticleServices = blogArticleServices;
    }
    public async Task Execute(IJobExecutionContext context)
    {
        var executeLog = await ExecuteJob(context, async () => await Run(context));
    }
    public async Task Run(IJobExecutionContext context)
    {
        System.Console.WriteLine($"Job_Blogs_Quartz 执行 {DateTime.Now.ToShortTimeString()}");
        var list = await _blogArticleServices.Query();
        // 也可以通过数据库配置,获取传递过来的参数
        JobDataMap data = context.JobDetail.JobDataMap;
        //int jobId = data.GetInt("JobParam");
    }
}

2、接口模式

直接在web管理后台,配置接口地址即可,效果和类模式一致,这样写好逻辑,通过接口的形势配置好,就不用在Blog.Core.Tasks层中配置类文件了,

直接用接口来进行任务调度。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NetCore 从壹开始 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档