对应用程序的一个非常普遍的需求是每X分钟/小时运行一个脚本.基本上它没什么复杂的,只是一些PHP代码和一个crontab条目.
虽然我在过去几年中写过很多这些cronjobs,但我还没有看到任何最佳实践,至少没有那么多.与每次"后台处理"一样,许多事情都可能出错,尤其是在生产环境中.
其中:
编写坚如磐石,强大的cronjob脚本有哪些最佳实践?编写一个锁定文件,断言只有一个实例运行,在oder中进行大量的日志记录和监控,以防止发送数千个重复的电子邮件?你有什么想法?
就我个人而言,我处理错误的方法是简单地将 STDERR 发送到日志文件,然后定期检查该文件。一个简单的方法是将 2>/pathtolog 附加到 crontab 条目。
至于运行同一程序的重复项,我更喜欢让脚本尝试锁定某些内容(文件或本地网络端口)。如果无法获得该锁,则脚本不会运行。这样,如果现有脚本当前正在运行,则新脚本无法获得相同的锁。
| 归档时间: |
|
| 查看次数: |
631 次 |
| 最近记录: |