当前位置: 代码网 > it编程>编程语言>Asp.net > .NET Framework集成Quartz的实现示例

.NET Framework集成Quartz的实现示例

2024年05月15日 Asp.net 我要评论
一、简介今天讲一下 .net framework 程序中集成 quartz 框架,这里使用的是 ram 模式,quartz 主要用于定时执行任务方面。这里贴出实现的核心代码,具体需要结合自己的业务,比

一、简介

今天讲一下 .net framework 程序中集成 quartz 框架,这里使用的是 ram 模式,quartz 主要用于定时执行任务方面。这里贴出实现的核心代码,具体需要结合自己的业务,比如:corn 表达式可以放在配置中心(zk、apollo 等)、使用 quartz db 模式、quartz 集群模式、job 开启结束时间等等。

二、版本

使用到的程序版本,quartz不同版本之间,使用方法大同小异

框架版本
.net framework4.6.1
quartz3.3.2
quartz.jobs3.3.2
quartz.plugins3.3.2

三、集成 quartz

3.1 job

创建两个需要定时执行的 job:onejob 、twojob

[disallowconcurrentexecution]
public class onejob : ijob
{
    public async task execute(ijobexecutioncontext context)
    {
        // 处理定时业务逻辑

    }
}
[disallowconcurrentexecution]
public class twojob : ijob
{
    public async task execute(ijobexecutioncontext context)
    {
        // 处理定时业务逻辑

    }
}

3.2 注册 job

将 onejob 、twojob 注册到 quartz 中,到这里已经 quartz 已经集成到 .net framework 程序中了

public class quartzulity
{
    public static ischeduler sched;

    public static void open()
    {
        ischedulerfactory schedf = new stdschedulerfactory();
        sched = schedf.getscheduler().result;

        ijobdetail onejob = jobbuilder.create<onejob>().build();
        string onejobcorn = "0 0/15 * * * ?";
        itrigger onejobtrigger = triggerbuilder.create().withcronschedule(onejobcorn).build();
        sched.schedulejob(onejob, onejobtrigger);

        ijobdetail twojob = jobbuilder.create<twojob>().build();
        string twojobcorn = "0 0/10 * * * ?";
        itrigger twojobtrigger = triggerbuilder.create().withcronschedule(twojobcorn).build();
        sched.schedulejob(twojob, twojobtrigger);

        sched.start();
    }

    public static void close()
    {
        sched.shutdown(true);
    }
}

3.3 启动 quartz

在 global.asax 中 application_start 里面启动 quartz

public class webapiapplication : system.web.httpapplication
{
    protected void application_start()
    {
        // 开启 quartz
        quartzulity.open();
    }
}

到此这篇关于.net framework集成quartz的实现示例的文章就介绍到这了,更多相关.net framework集成quartz内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com