2

我想在流星中运行一个“计划作业”,它只需要在指定时间运行一次。我可以访问日期对象。我尝试了以下cron表达式,但没有得到预期的行为。

显示下一次运行@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

1 回答 1

4

使用synced-cron1.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

于 2015-10-05T11:51:13.203 回答