Skip to content

定时任务 ​

定时任务功能支持通过 Cron 表达式定时执行脚本,适用于数据同步、报表生成、消息推送等场景。

创建任务 ​

  1. 在左侧导航栏选择「任务」分类
  2. 点击「+」按钮创建新任务
  3. 配置 Cron 表达式
  4. 编写任务脚本
  5. 启用任务

Cron 表达式 ​

SSS-RUN使用秒级 Cron 表达式,共 6 个字段:

秒 分 时 日 月 周
字段允许值允许特殊字符
秒0-59, - * /
分0-59, - * /
时0-23, - * /
日1-31, - * ? /
月1-12, - * /
周0-6(0=周日), - * ? /

常用表达式 ​

表达式说明
*/5 * * * * *每 5 秒执行
0 */1 * * * *每 1 分钟执行
0 0 */1 * * *每 1 小时执行
0 0 8 * * *每天早上 8 点执行
0 0 8 * * 1每周一早上 8 点执行
0 0 0 1 * *每月 1 日零点执行

可视化编辑器 ​

任务创建界面提供可视化 Cron 编辑器,无需手动输入表达式,通过选择即可生成。

任务脚本 ​

任务脚本与接口脚本语法相同,支持所有内置模块:

javascript
// 定时同步数据示例
var db = require("db")
var http = require("http")
var log = require("log")

var data = http.Get("https://api.example.com/sync")

if (data) {
    db.Exec("DELETE FROM sync_cache")
    db.Exec("INSERT INTO sync_cache (data) VALUES (?)", JSON.stringify(data))
    log.Info("数据同步完成")
} else {
    log.Error("数据同步失败")
}

任务管理 ​

操作说明
启用开始按 Cron 表达式执行
停用暂停执行
手动执行立即执行一次
查看日志查看执行记录和输出

超时控制 ​

任务支持配置超时时间,超时后自动终止执行,避免长时间运行的任务占用资源。

task 模块 API ​

在脚本中可通过 task 模块动态管理定时任务:

Subscribe — 订阅定时任务 ​

javascript
var task = require("task")

task.Subscribe("任务名称", "*/10 * * * * *", function() {
    log.Info("任务执行")
})

参数说明:

参数类型说明
namestring任务名称
cronstringCron 表达式
callbackfunction回调函数

Unsubscribe — 取消定时任务 ​

javascript
var task = require("task")

task.Unsubscribe("任务名称")

注意事项 ​

  • 任务脚本执行超时后会被强制终止
  • 任务执行失败不会自动重试,需在脚本中自行处理
  • 同一任务同一时刻只会执行一次,不会并发
  • 建议在任务脚本中添加日志记录,便于排查问题

版权所有.