2015-10-05 2 views
2

Я хочу запустить «запланированное задание» в метеор, который нужно запускать только один раз в определенное время. У меня есть доступ к объекту даты. Я попробовал выражение ниже cron, но не получил ожидаемого поведения.synced-cron для запуска один раз - Meteor

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? try 'meteor add percolate: synced-cron @ 1.3.0' –

+0

да, я использую' 1.3.0' версию – Munna

Смежные вопросы