php - 在达到一定时间之前安全退出应用程序?

标签 php

我有一个脚本在 cron 中每 10 分钟运行一次,我希望脚本在 9 分钟后退出以停止任何重叠。

该脚本正在运行一个 foreach 循环,轮询一个收件箱并对收件箱中的每封邮件运行一系列函数。

我知道我可以使用 set_time_limit,但如果脚本已运行超过 9 分钟,我正在寻找一种更优雅的方式在循环结束时退出脚本。

最佳答案

如果我了解您的需求,您的需求是防止同一脚本的并行运行。 正确 的解决方案是实现锁定或队列机制,这样同一个脚本就不会并行运行。

你可以使用文件 |分贝 |内存锁。文件是最简单的。
1.检查锁文件是否存在
2.如果存在
3. 等待 X 秒 -> 转到 1
4. 创建文件
5. 继续你的脚本
... ... 6. 脚本结束 -> 删除文件。

将此逻辑放入使用此锁的每个脚本中。 你也不能创建/删除文件,而是修改其中的内容(比如在 1 和 0 之间切换)

关于php - 在达到一定时间之前安全退出应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18006719/

相关文章:

php - 法语编码字符

php - 如何获取自午夜以来经过的秒数

php - 构造 while 语句以在 MySQL 数据库中存储动态生成的 php 表单问题?

php - 我如何在 Codeigniter 中用 2 个或更多表填充数据库

php - PEAR DB_DataObject 正在实现什么设计模式?

php - WooCommerce - 获取产品页面的类别

php - 如何通过 Laravel 更新外部样式表中的 CSS 属性?

php - .htaccess 重写 URL 显示不正确?

php - pear 不承认是内部还是外部?问题

php - 合并 2 个数组并合并数字键的结果