Meteor JS:后台进程

Meteor JS: Background process

我想添加一个函数,它会在服务器上每隔几秒在一个单独的线程中 运行 一次。

我阅读了 This post 并找到了很多 CRON 包可以帮助我,但我不知道它们的确切位置 API需要在代码中添加,这可能是因为我不太了解它们如何使用Meteor

我觉得我的问题有点直率,但也许有人告诉我在哪里可以将 CRON 包功能放入代码中?

我使用 https://atmospherejs.com/percolate/synced-cron 作为 cron 作业的示例 运行ner。

你会 运行 服务器上的这个包的代码(参见:https://github.com/percolatestudio/meteor-synced-cron/blob/master/package.js#L13)。

例如,您可以在调用 Meteor 方法后安排后台任务:

Meteor.methods({
  doCron: function() {
    SyncedCron.add({
      name: 'Crunch some important numbers for the marketing department',
      schedule: function(parser) {
        // parser is a later.parse object
        return parser.text('every 2 hours');
      },
      job: function() {
        var numbersCrunched = CrushSomeNumbers();
        return numbersCrunched;
      }
    });
  }
});

// Somewhere in your code you need this to start processing jobs. Also on server.
Meteor.startup(function () {
  // code to run on server at startup
  SyncedCron.start();
});

既然 SyncedCron 已被弃用,我决定提供一个名为 Steve Jobs 的新后台作业包。它已经过生产测试,对于 Meteor 开发人员来说很容易掌握。