2017-09-23 46 views
0

我想检查我的数据库中的项目,每x分钟y10分钟后创建。最有效的方法来检查时差

我已经想出了两种方法来做到这一点,我不确定哪个会导致更好的效率/速度。

首先是日期字段存储模型,并完成类似

Model.find({time_created > current_time - y}) 

cron作业每x分钟内。

第二个是保持times_to_check场持续跟踪了多少次,基于xy,对象应该进行检查。

Model.find({times_to_check> 0}) 

我为什么这两个可能是相当的想法是因为Dates第一比较将需要更长的时间,但第二个要求对数据库的写入对象已经检查之后。

回答

0

因此,无论哪种方式,您都必须连续检查数据库以查看是否应该查询您的集合。在您的“第二种解决方案”中,您无法运行后台进程,因为您只参考了如何确定收集增量。

坚持运行你的UNIX的Cron作业,但要确保它具有容错能力,有一个控件确保它在应用程序启动时实际运行。下面是如何处理这个问题的一个很好的答案。

How do I write a bash script to restart a process if it dies?

此基础上我会问怎么做,如果你的cron作业还没有为数分钟,数小时或数天x次运行应用程序的反应。如果发生这种情况,你的应用程序如何恢复?

相关问题