thinkjs2 2中的定時任務

2021-09-08 20:14:01 字數 1760 閱讀 7960

暫且先討論定時任務的其中兩種實現方法:

setinterval()可按照指定的週期(毫秒數計)來呼叫函式或者計算表示式;

setinterval()方法會不停的呼叫該函式,直到clearinterval()被呼叫或視窗被關閉。由setinterval()返回的id值可用作clearinterval()方法的引數。

而其中:

settimeout()方法用於在指定的毫秒後呼叫函式或者計算表示式,只執行code一次,若要多次呼叫,請使用setinterval()

//伺服器啟動delay毫秒後,開始執行fn,每隔interval毫秒後再次執行fn

7function

starttasks(fn, interval, delay) , delay);13}

14 let interval=think.config('questionsfreshtime');//

問題表的定時重新整理時間 毫秒 4小時 在配置檔案中

15 starttasks(cron,interval,1000*3*60); //

伺服器啟動3分鐘後開始迴圈執行

在thinkjs2.2中也有相對應的定時器處理方法(3.0存在同樣的方法)

4 小時執行一次9//

let jobid = crontab.schedulejob('0 */4 * * *', fn);

10 let jobid = crontab.schedulejob('* * * * *', fn);//

1min

11//

開發環境下立即執行一次看效果

5* desc:定時器操作類6*/

78 'use strict';

910 import base from './base.js';

11 export default

class extends base ).update();

24return

this

.success();25}

26 }

node-crontab:

其實在使用過程中,我好像發現node-schedule

更受歡迎些。其實選哪種,憑個人喜好。

Linux中的延時任務以及定時任務

root localhost at 23 37 設定任務執行時間 at rm fr mnt 任務執行動作 at ctrl d 用ctrl d發起任務 root localhost at now 1min 延時1分鐘 at rm fr mnt at 命令 注釋at l 檢視任務列表 at c 檢視任務...

定時任務中,cronExpression的設定規則

單純針對時間的設定規則 org.springframework.scheduling.quartz.crontriggerbean允許你更精確地控制任務的執行時間,只需要設定其cronexpression屬性。乙個cronexpression表示式有至少6個 也可能是7個 由空格分隔的時間元素。從左...

android中的定時任務

系統獲取時間的方法有兩個 注意 4.4以後alarm任務觸發時間將變的不精確,有可能延遲一段時間後任務才能得到執行。這是系統在耗電方面進行的優化。系統會自動檢測目前有多少個alarm任務存在。然後將觸發時間相近的幾個任務放在一起執行,這就可以大幅度減少cpu被喚醒的次數,從而有效延長電池的使用時間。...