写点什么

【JIT/ 极态云】技术文档 -- 定时任务

  • 2024-11-14
    湖北
  • 本文字数:1542 字

    阅读完需:约 5 分钟

【JIT/极态云】技术文档--定时任务

一、简介

定时任务是根据设定的一个指定时间及循环周期,每到一个时间周期,都会触发一次任务,可类比为一个闹钟。


定时任务入口

二、交互流程

新建定时任务,配置任务的名称、存储路径、执行时间与循环周期。


新建定时任务


可以在任务页面中构建相应的执行函数,即到达指定时间触发后做什么,并控制任务开启生效。


定时任务配置


任务执行记录展示根据触发时间分类的“待执行”、“执行中”、“已执行”任务,包括执行时间、执行反馈等信息。


定时任务记录

三、触发时机

定时任务区别于事件的指定动作触发,而是到达一个指定时间后触发。对于周期任务,则可以在触发时间的基础上,增加重复周期和结束时间的设定。


设置触发时机

一、开始时间

在单次定时任务中,【开始时间】就是指定的任务触发时间;


在周期定时任务中,【开始时间】既是任务第一次开始执行的时间,也会作为时间周期范围的起始位置;

二、重复周期

即循环的周期类型,可以是不重复、每小时、每天、每周、每月、每年、自定义。


假设开始时间选定的是 2024-01-01 12:30:00 (周一)。


不重复,任务仅触发一次;


每小时,默认按照选定【开始时间】的分、秒,每小时执行,即 12:30、13:30、14:30;


每天,默认按照选定【开始时间】的小时、分、秒,每天执行,即 01-01 12:30、01-02 12:30;


每周,默认按照选定【开始时间】的星期、小时、分、秒,每周执行,即 01-01 12:30(周一)、01-08 12:30(周一);


每月,默认按照选定【开始时间】的日期、小时、分、秒,每月执行,即 01-01 12:30、02-01 12:30;


每年,默认按照选定【开始时间】的月份、日期、小时、秒,每年执行,即 2024-01-01 12:30:00、2025-01-01 12:30:00;


自定义,允许按照灵活间隔执行,间隔为分、小时、天、周、月、年;


  • 分,每几分钟执行一次;

  • 小时,每几个小时执行一次;

  • 天,每几天执行一次;

  • 周,每几周执行一次,包括具体在周几;

  • 月,每几月执行一次,包括具体在哪一天;

  • 年,每几年执行一次,包括具体在哪个月的哪一天;

三、结束时间

只在选择了重复周期中重复选项时生效,也就是周期定时任务中时间周期范围的结束位置;

四、跳过节假日

只在选择了重复周期中重复选项时生效,当任务的时间周期范围中存在节假日,则在节假日时间内自动跳过那个任务不执行。

四、执行函数

与事件类似,在任务中也需要对具体执行动作进行实现,也就是执行函数的构建。


在这里我们可以选择两种,一种为全局函数,选择任意一个服务函数,另一种是直接在内部函数中直接实现调用。至于内部函数编辑也是通过函数设计模块实现,参见 函数设计模块。


需要说明的是,在任务中,不会有默认入参。

五、代码实现

在代码编辑器模式下,可以看到每个任务分为两个文件,tasks.json、inner.py。


这两个文件分别对任务本身进行属性记录和对任务的执行函数实现。


下面是 tasks.json 原文,定义或记录了相关参数,如任务类型、任命名称、周期设置等。


{    "funcType": "Inner",    "title": "每天提醒客户跟进",    "timerCfg": {        "startTime": "2024-08-20 09:00:00",        "repeat": {            "repeatType": "day",            "period": 1        },        "skipHoliday": 1    },    "enable": 1}
复制代码


对于 inner.py,则主要体现了执行函数本身。

六、使用场景示例

考勤打卡提醒

在工作日周一到周五每天提前 10 分钟提醒公司员工打卡,这种情况就可以应用定时任务来实现。


也就是新建一个定时任务后,选择一个开始执行的时间,时分秒为 8 点 50 分(9 点前 10 分钟),然后在重复周期中设定每周一、周二、周三、周四、周五,并且跳过节假日即可。

七、注意事项

定时任务触发的开始时间一定要在当前系统时间之后,历史时间并不会触发任务。


进一步了解极态云,体验产品? 请访问 极态云官网  https://jit.pro/?utm_source=info&utm_campaign=kai_fa_zhi_nan&utm_medium=article&utm_content=241151


用户头像

还未添加个人签名 2024-10-14 加入

还未添加个人简介

评论

发布
暂无评论
【JIT/极态云】技术文档--定时任务_武汉万云网络科技有限公司_InfoQ写作社区