如何导入自定义日历

如果定时任务需要仅在工作日、金融交易日执行,或在特定促销期间不执行,可以使用自定义日历定时任务功能。自定义日历定时任务允许指定任务执行的具体日期。本文介绍如何导入并创建自定义日历定时任务以及如何修改日历。

前提条件

已创建XXL-JOB实例,如果尚未创建需创建实例

已创建应用,如果尚未创建需创建应用

导入并创建自定义日历定时任务

1.导入自定义日历

  1. 前往OpenAPI门户

  2. 服务地址选择与XXL-JOB实例相同区域。

  3. 完成参数填写,然后单击发起调用。日历参数配置参考下表。

    字段描述

    示例

    ClusterId

    集群实例ID

    xxljob-b6ec1xxxx

    Name

    日历名称

    workday

    Year

    日历年份

    2025

    Months

    每个月的日历

    [
      {"month":1,"days":[3,4,5,6,9,10,11,12,13,16,17,18,19,20,28,29,30,31]},
      {"month":2,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28]},
      {"month":3,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30,31]},
      {"month":4,"days":[3,4,6,7,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28]},
      {"month":5,"days":[4,5,6,8,9,10,11,12,15,16,17,18,19,22,23,24,25,26,29,30,31]},
      {"month":6,"days":[1,2,5,6,7,8,9,12,13,14,15,16,19,20,21,25,26,27,28,29,30]},
      {"month":7,"days":[3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28,31]},
      {"month":8,"days":[1,2,3,4,7,8,9,10,11,14,15,16,17,18,21,22,23,24,25,28,29,30,31]},
      {"month":9,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28]},
      {"month":10,"days":[7,8,9,10,11,12,13,16,17,18,19,20,23,24,25,26,27,30,31]},
      {"month":11,"days":[1,2,3,6,7,8,9,10,13,14,15,16,17,20,21,22,23,24,27,28,29,30]},
      {"month":12,"days":[1,4,5,6,7,8,11,12,13,14,15,18,19,20,21,22,25,26,27,28,29]}
    ]

2.任务配置日历

  1. 登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择任务调度 > XXL-JOB

  3. 单击目标实例ID,选择左侧导航栏的任务管理,单击创建任务

  4. 完成基本配置,在定时配置中,时间类型选择cron,在高级配置中选择制定日历,选择第一步导入的日历。

  5. 单击下一步,完成通知配置,然后单击完成

修改日历

如果需要修正日历,只需按照导入自定义日历步骤,导入同名日历,重新导入的日历会自动覆盖旧日历配置。