【发布时间】:2011-06-08 20:57:43
【问题描述】:
这更多是一个实现问题,但是使用像 cron 这样简单的东西来为 MongoDB 安排像 mapreduce 这样的任务有什么缺点吗?假设需要每小时执行一次,这似乎是一种合适的方式......但我想我只是问一下,因为那里有所有流行的工作排队系统,比如 Resque 和其他人。
我想我的问题更像是,cron 是否提供了足够可靠的解决方案?想法?
【问题讨论】:
这更多是一个实现问题,但是使用像 cron 这样简单的东西来为 MongoDB 安排像 mapreduce 这样的任务有什么缺点吗?假设需要每小时执行一次,这似乎是一种合适的方式......但我想我只是问一下,因为那里有所有流行的工作排队系统,比如 Resque 和其他人。
我想我的问题更像是,cron 是否提供了足够可靠的解决方案?想法?
【问题讨论】:
Cron 已经使用了几十年,并且相当可靠和稳固;如果您的 cron 不可靠,那么我建议您与您的操作系统供应商进行一次严肃的讨论。此外,MongoDB 文档还讨论了 cron 作业(例如,谷歌“site:mongodb.org cron”),因此,据推测,MongoDB 可以预期 cron 作业。
也就是说,如果您已经为另一个调度系统设置了一堆基础架构,那么可能没有理由将 cron 用于 MongoDB,而将其他东西用于其他任务。
在任何情况下,如果您的 cron 作业可能需要足够长的时间来重叠并且您一次只希望运行一个,您可能希望在一个简单的 PID 文件锁定系统上分层:
atexit 处理程序或您的环境支持的任何类似功能)。【讨论】: