Meteor:定期进行数据库操作

时间:2014-08-16 11:59:11

标签: mongodb meteor scheduled-tasks

我有一个包含帖子的应用。用户可以对这些帖子进行投票。但每周,比如星期五中午12点,我想重置投票结果,以便每个帖子都有一个新的开始。

我知道如何进行数据库操作:

Meteor.methods(
{
    vote: function(ID){
        Posts.update(
            //Selector
            {_id: ID},

            //Modifiers
            {
                $set: {votes: 0}
            }
        )
    }
}
);

其中Posts是一个流星集合。

但我不知道如何安排这个,所以每周定期完成。任何人都可以帮我解决这个问题吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

我会将later.js用于此目的,它允许您定义复杂的计划,然后您可以使用类似API的setInterval执行任意代码。

http://bunkat.github.io/later/index.html

以后在Meteor中已经有一个气氛包:

http://atmospherejs.com/package/later

server / schedule.js:

var schedule=later.parse.text("at 12:00 pm on Fri");
var timer=later.setInterval(function(){
  // your vote reset code goes here
},schedule);