2015-10-05 61 views
2

我想在流星中運行一個'預定的工作',它只需要在指定的時間運行一次。我有日期對象的訪問權限。我試過以下cron表達式,但沒有得到預期的行爲。synced-cron要運行一次 - 流星

shows next run @0

這裏的代碼段。

schedule: function(parser) { 
      var _year = bidStartTime.getFullYear(); 
      var _month = bidStartTime.getMonth(); 
      var _date = bidStartTime.getDate(); 
      var _hours = bidStartTime.getHours(); 
      var _min = bidStartTime.getMinutes(); 

      var bidAsCron = _min+' '+_hours+' '+_date+' '+ _month+' ? '+_year; 
      console.log('parsed as ' + bidAsCron); 

      // parser is a later.parse object 

      // sample parser.cron('25 17 5 10 ? 2015'); 
      // should 5th October 2015 at 5:25 pm 

      return parser.cron(bidAsCron); 

     }, 

回答

4

使用synced-cron 1.3.0版本,你可以指定parser.recur().on(date).fullDate();安排一次關閉(即不重複)事件是這樣的:

SyncedCron.add({ 
    name: cron_name, 
    schedule: function (parser) { 
    // ending_at is a Date object set to some future date 
    // there is no recurrence 
    return parser.recur().on(ending_at).fullDate(); 
    }, 
    job: function() { 
    // job code 
    } 
}); 

工作示例:http://meteorpad.com/pad/mLfyoLnHSECPhQscz/synced-cron%20to%20run%20once

+0

沒拿到預期成績。仍然收到'next run @ 0'消息 – Munna

+0

@Faysal你確定你使用的是1.3.0版嗎?嘗試'流星雨添加過濾器:同步cron @ 1.3.0' –

+0

是的,我使用'1.3.0'版本 – Munna