如何触发服务器端定时删除?

时间:2014-03-11 23:51:36

标签: meteor

如何根据集合中设置的时间范围触发服务器端定时删除存储在集合中的文件? 我尝试在post方法中使用cron,我需要设置一个自动运行的删除方法,它获取文件存储的时间和用户希望它的开启时间,然后让服务器删除它时间到了。

[编辑1]

if (! this.isSimulation) {
        Meteor.setTimeout(function () {console.log(postId)}, 5000);
        Meteor.setTimeout(function () {Posts.remove(postId)}, 5000);
}

此代码现在似乎正在运行,我仍然需要修复UI。当您被重定向到帖子时,它有来自数据库的正确数据,但在删除功能之后,它只是将所有基于数据库的信息更改为未定义。关于它的任何想法?也许路由或其他什么。

1 个答案:

答案 0 :(得分:0)

您可以在创建文档时设置的服务器(http://docs.meteor.com/#meteor_settimeout)上使用setTimeout。但是,这不会在服务器重启之间起作用。因此,如果时间范围很长,那么您需要将这些计时器存储在一个集合中,并在服务器重启时重新启用它们。