2017-03-21 58 views
0

我正在使用Node-Schedule軟件包,並且在使用*系統定義標準時遇到了一些麻煩。 有誰知道我可以每15天,每月的30(15天間隔)如何在Nodejs中每隔15天運行一次節點調度任務?

var schedule = require('node-schedule'); 
var tarefa = schedule.scheduleJob('15-30 * * ', function() { 
    console.log("TAREFA"); 
}); 

一個問題,比方說,我想改變這種後來基於用戶選擇的選項,我怎麼可以運行這個任務獲取當前的任務計劃並稍後更改此時間間隔?

在此先感謝!

回答

0

0 0 0 1,15 * ?應該可以工作(請參閱Quartz Cron expression :Run every 15 days ie twice in a month)。

要更改計劃,可以使用作業名稱和新的用戶指定計劃調用rescheduleJob方法。

var schedule = require('node-schedule') 
schedule.scheduleJob('myJob', '0 0 0 1,15 ? *', function() { console.log('hi') }) 
schedule.rescheduleJob('myJob', '0 0 0 1,20 ? *') 
+0

只是最後一個問題,我應該創建一個新的時間表來運行以檢查用戶何時更改了時間表?例如,控制小任務的主要任務是什麼? 用戶轉到配置視圖並更改時間選項,另一個任務需要運行以檢查任務是否已更改 謝謝@snorthway!幫了很多! –

+0

我不知道您的應用程序的具體情況,但我認爲有一個處理函數可在用戶更改配置選項時被調用。您可以將該調用放入該函數中的'rescheduleJob'。 – snorthway

+0

謝謝! @snorthway –

相關問題