.NET 任务调度

SuperJob 是一个功能强大的作业调度框架,主要用于在.NET 应用程序中实现定时任务的调度和执行。

一、主要特点

灵活性高:
支持多种触发方式,包括简单的时间间隔触发、基于 Cron 表达式的复杂触发等,可以满足不同场景下的定时任务需求。
可以轻松地定义任务的执行时间、重复次数、优先级等属性,实现对任务的精细控制。
可靠性强:
提供了完善的错误处理机制,当任务执行出现错误时,可以记录错误日志并进行适当的处理,确保系统的稳定性。
支持任务的持久化,可以将任务的信息存储在数据库中,即使系统重启,任务也不会丢失,能够继续按照预定的计划执行。
易于使用:
提供了简洁的 API,开发人员可以方便地创建、配置和管理定时任务。
可以与现有的.NET 应用程序无缝集成,无需对应用程序的架构进行大规模的修改。
扩展性好:
允许开发人员自定义任务的执行逻辑,可以根据具体的业务需求实现复杂的定时任务。
支持分布式部署,可以在多台服务器上运行,实现任务的高可用性和负载均衡。

二、主要组件

调度器(Scheduler):负责管理和调度任务的执行。它是核心组件,通过配置不同的触发方式和任务,可以实现各种定时任务的需求。
任务(Job):是要执行的具体工作。开发人员可以实现提供的 IJob 接口来定义自己的任务逻辑。
触发器(Trigger):用于确定任务的执行时间。提供了多种触发器类型,如 SimpleTrigger(简单触发)和 CronTrigger(Cron 表达式触发)等。

三、使用场景

定时数据备份:可以设置定时任务,在特定的时间自动执行数据备份操作,确保数据的安全性。
定期报表生成:按照一定的时间间隔生成各种报表,为企业决策提供数据支持。
系统维护任务:如定期清理缓存、数据库优化等操作,可以提高系统的性能和稳定性。
定时发送邮件或短信:例如在特定的时间向用户发送通知邮件或短信,提高用户体验。
任务队列处理:可以将任务放入队列中,通过调度执行,实现任务的异步处理。
自定义脚本:可以编写业务脚本代码逻辑,执行脚本代码逻辑。

架构拓扑图如下:
在这里插入图片描述
集群需要配置:

#是否集群 true false
quartz.jobStore.clustered = false

远程调度访问配置:

quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz
quartz.scheduler.exporter.port = 1122
quartz.scheduler.exporter.bindName = WagSchedulerExporter
quartz.scheduler.exporter.channelType = tcp

服务端程序如下:
在这里插入图片描述
Quartz DB 可使用 SQL SERVER、 Sqlite等。

若使用 sql server 配置如下:

在这里插入图片描述
若使用 sqlite 配置如下:
在这里插入图片描述
在这里插入图片描述
这里使用控制台作为宿主启动:
在这里插入图片描述
远程调度工具
在这里插入图片描述
在这里插入图片描述
Job管理简单方便,你可以编写Job插件。还自带了默认的job实现。它还支持脚本Job功能,可以不用使用代码IDE情况下,编写代码脚本来执行您的业务逻辑。

Job插件管理:
在这里插入图片描述

在这里插入图片描述
脚本Job功能:
在这里插入图片描述

管理每个job,及job对应的N个触发器。
在这里插入图片描述
在这里插入图片描述
触发器类型可选择:cron触发器、简单触发器等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
日历管理:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值