【发布时间】:2014-07-09 04:36:36
【问题描述】:
我目前正在开发一个必须每 10 秒执行一次任务的网站。该网站每十秒检查一次数据库,找到要处理的行,然后在每一行上运行一个简短的脚本。
该服务现在运行良好,但我只想确保一旦数据库变得非常大,该服务仍然可以高效运行。
我正在使用每分钟运行一次的 cron 作业,每 10 秒运行一次睡眠功能。
感谢您的帮助!
【问题讨论】:
-
那么...你的问题是什么?
-
我们在这里谈论多少数据?如果您的脚本不是快速且优化的,那么 10 秒太短了。我建议您查看数据库触发器。
-
函数如何知道它应该在经过一定时间后死亡?您是否在一定数量的迭代中硬编码?由于两个进程同时运行,代码是否有可能在 60 秒左右运行两次?
-
显然我不熟悉您的应用程序,但每 10 秒查询一次数据库似乎非常过分。为什么这么频繁?为什么 60 秒或 5 分钟不更合理?数据库中的变化真的需要那么快吗?当您的脚本注意到更改时会发生什么?该代码是否会触发另一个执行更密集工作的函数?
-
好吧,数据库条目必须精确到 10 秒...如果我每分钟运行一次,那么应该在 20 秒内删除的条目,实际上会在一分钟内删除