2016-01-06 43 views
0

我需要使用cron的解析器使用Node.js語言 我不太明白這項工作將如何運行,那麼日誌cron作業的結果幫。工作的cron-解析器的nod​​e.js

根據這裏給出的示例https://github.com/harrisiirak/cron-parser 它重複表達的時間/間隔而不是正常的cron作業,它只會在實際的cron作業完成時顯示作業的結果/ s。

的問題是,如何創建一個正常的cron作業,將只運行,讓我們說每一分鐘,我怎麼可以創建將同時異步運行分別3分鐘和5分鐘多個作業。

這是我做了什麼,這應該運行每5分鐘不幸的是沒有打印任何結果,每5分鐘。

try { 
     var interval = parser.parseExpression('*/5 * * * *'); 

     while (true) { 
      try { 
       var obj = interval.next(); 

       if (obj.done) 
        console.log("Cron Job: run every 5 minutes."); 
      } 
      catch (e) { 
       break; 
      } 
     } 
    } 
    catch (err) { 
     console.log('cron parser error: ' + err.message); 
    } 

編輯 所以從技術上來說,我不能時鐘守護分析器來創造就業機會與cron的模塊,這樣反而會來處理我的cron作業。我的cron工作也在創造多個工作。現在的問題是,每當我使用陣列創建多個cron作業,第一個作業成功運行,但在第二個工作,對後它擊中運行它的時候,它失敗,給了我

uncaughtException: timer._repeat is not a function 

這是我沒:

for (var data in lists){ 
     sampleData.find({ id: lists[data].id }, function(err, samples){ 
      if (err){ 
       console.log("Server error"); 
      } 
      else{ 
       for (var sample in samples){ 
        new cron("*/3 * * * *", function() { 
         console.log(sample); 
        }, null, true, null); 
       } 
      } 
     }); 
    } 
+0

'的cron-parser',顧名思義,_parses_ cron作業文件。這不是'cron'功能本身的實現。 – robertklep

+0

好感謝..解析cron作業後,可以解析cron作業用來像答案(cron的模塊)其他模塊? – juniordeveloper

+0

我不明白你爲什麼會想採取這種迂迴,作爲'cron'模塊已經可以解析的cron文件。 – robertklep

回答

2

如果你可以使用 '的cron' 模塊,你可以這樣做

var CronJob = require('cron').CronJob; 
new CronJob('*/3 * * * * *', function() { 
    console.log('You will see this message every 3 second'); 
}, null, true, 'America/Los_Angeles'); 

new CronJob('*/6 * * * * *', function() { 
    console.log('You will see this message every 6 second'); 
}, null, true, 'America/Los_Angeles'); 

new CronJob('*/7 * * * * *', function() { 
    console.log('You will see this message every 7 second'); 
}, null, true, 'America/Los_Angeles'); 
+0

你嘗試過通過循環創建多個就業機會? – juniordeveloper