我想添加一个函数,该函数将在服务器上每隔几秒在一个单独的线程中运行一次。
我看了This post并找到了很多可以帮助我的 CRON 软件包,但我不知道他们 API需要在代码中添加的确切位置< / strong>,可能是因为我不太明白他们如何使用 Meteor 。
我认为我的问题有点生硬,但也许有人告诉我在哪里可以将CRON包功能放在代码中?
答案 0 :(得分:3)
我使用https://atmospherejs.com/percolate/synced-cron作为cron职业选手的一个例子。
您可以在服务器上运行此程序包的代码(请参阅: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();
});
答案 1 :(得分:0)
现在不建议使用SyncedCron,我决定提供一个名为Steve Jobs的新后台作业包。它经过生产测试,对于Meteor开发人员来说很容易掌握。