thinkjs-定时任务
thinkjs-定時任務
配置
原文文檔
定時任務的配置文件為 src/config/crontab.js(多模塊項目下配置文件為 src/common/config/crontab.js,也支持在每個模塊下配置定時任務文件 src/[module]/config/crontab.js),配置項為一個數組
//例子 module.exports = [{interval: '10s',immediate: true,handle: () => {console.log("測試定時器")} }, {//每周一1:30執行 教練設置默認時間的排班表cron:"30 1 * * 1 *",immediate: false,enable: true,handle: "coach/course/timingSetWork"type: 'all' }]參數詳情
interval {String | Number} 執行的時間間隔 單位:毫秒
interval:1000 表示1s中執行一次 等同于 interval:'1s';
String配置文檔:1d(1天),10h(10小時),1y(一年)cron {String} crontab 的格式,如 0 /1 * *
如果配置了interval, 那么會忽略該屬性crontab 的格式文檔
type {String} 任務執行方式, one 或者 all, 默認是 one
任務會在哪些子進程中執行,默認只在一個子進程中執行,all
為在所有子進程中執行。即使配置了一個子進程中執行,也只能保證一個機器下在一個子進程中執行,多臺機器下還是會執行多次。如果跨機房、跨機器只希望執行一次,那么可以通過 enable 參數控制或者命令行執行來完成。handle {Function | String} 執行任務,執行相應函數或者是路由地址,如:coach/course/timingSetWork
定時任務的執行方法,可以是一個具體的執行函數,也可以是一個路由地址(會根據路由解析,然后執行對應的 Action)。
immediate {Boolean} 是否立即執行,默認是 false
定時任務是否立即執行一次。
enable {Boolean} 是否開啟,默認是 true
定時任務是否開啟,設置為 false 則關閉該條定時任務規則。比如:多機器下只希望在一臺機器下執行,那么可以通過機器名來判斷:
轉載于:https://www.cnblogs.com/wentutu/p/11212426.html
總結
以上是生活随笔為你收集整理的thinkjs-定时任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阶段1 语言基础+高级_1-3-Java
- 下一篇: springboot + rabbitm