Meteor.js:基于时间的服务器调用

Meteor.js: time-based server calls?

本文关键字:时间 服务器 调用 js 于时间 Meteor      更新时间:2023-09-26

我们正在尝试制作一个应用程序,每周三和周五在数据库中配对用户。流星中是如何完成的?

所以在服务器代码中,我想把它放在一个定时服务器.js文件中

boolean hasMatched = false;
boolean isWednesday = false;
while(true){
   if (day != Wednesday) isWednesday = false;
   if (day == Wednesday){
        matchUsers()
        Wednesday = true;
     }
setTimeOut(5 HOURS)
}
这是

应该处理的吗?我不确定如何持续运行服务器代码。我们把这段代码放在哪里?

我建议使用Meteor.setInterval()而不是使用无限while循环,为什么不使用24小时的间隔而不是5小时?然后,您可以检查当前日期的工作日,例如使用moment.js,如果是星期三或星期五,则最多异步运行代码,并且不阻塞间隔。

我可能不会为这样的事情使用 while 循环。

不过,我想到了一个包:synced-cron。看起来它使用"解析器",并且那里有相当多的灵活性。

这样的东西可能会起作用:

SyncedCron.add({
  name: 'Crunch some important numbers for the marketing department',
  schedule: function(parser) {
    // parser is a later.parse object
    return parser.text('every Wednesday');
  }, 
  job: function() {
    var matchedUsers = matchUsers();
    return matchedUsers;
  }
});

我从未使用过这个包,但我相信这段代码会在每周三触发。

也许使用 cron 作业会是更好的解决方案?