2014-05-23 54 views
4

我最近實現了一個系統,可以自動回覆包含任意主題標籤的推文。該系統由定期檢索Twitter的進程和定期回覆這些推文的進程組成。按照我公司的傳統,這些定期工作是通過RDMS上的工作表來實現的,這些工作表具有狀態欄,其值等於「等待」,「處理」或「成功」等值。爲了確保冗餘,我通過利用低級鎖來使多個相同的進程運行。如何執行定期執行的作業?

我的問題是,我正在定期執行RDMS中工作表的作業,這些作業通常如何實現。

回答

7

有一個節點包cron它允許您以某個指定的間隔執行代碼,就像crontab一樣。這裏有一個鏈接到包:https://www.npmjs.org/package/cron

例如:

var cronJob = require("cron").CronJob; 

// Run this cron job every Sunday (0) at 7:00:00 AM 
new cronJob("00 00 7 * * 0", function() { 
    // insert code to run here... 
}, null, true); 

您可能能夠使用該模塊定期運行一些工作,這抓取Twitter或回覆鳴叫。

+2

除了控制何時執行函數的能力之外,這個解決方案還有其他的好處,就是本地的'setInterval'嗎? – kiril

+0

我對此感興趣,所以找到了你:https://stackoverflow.com/questions/18120909/set-interval-in-node-js-vs-cron-job – pegla