PHP set_time_limit 限制

标签 php cron sleep

问题

如果我使用 sleep(300); 在 5 分钟的间隔内完成一整天(24 小时),是否可以正常工作?

这意味着,set_time_limit (86400); 会起作用吗?

然后我可以将主机的时间表设置为每 24 小时仅使用一次。


信息

我在 this question 上找到了我现在正在做的事情现在我每 5 分钟用它做一些事情。它运作良好,准时,甚至秒数都正确。 (谈论每个 sleep 之间的间隔)- 它休眠 3 次,然后再次从我的主机调度中调用。

我在我的主机上每 15 分钟设置了一个计划任务,问题是这不是每(精确)15 分钟发生一次,而是更像是 16 分钟和一点点 - 几个小时后它完全没有了同步。

如果可以使用它在24小时内不退出,那么我可以调整代码中的sleep,使其恰好每5分钟执行一次。


更新

17:17:50 22-09-2011 Check done!
17:34:09 22-09-2011 Check done!
17:47:47 22-09-2011 Check done!

我运行了一个脚本,该脚本将日期和“检查完成!”附加到文件中。 - 这没有循环和 sleep 这就是我得到的。

最佳答案

如果您使用 set_time_limit(0);,代码将永远不会超时并永远运行,除非它先退出。例如,我在 while(1) { ... } 循环中用 PHP 编写程序。它连续运行了大约两周(然后由于一些不相关的原因我不得不重新启动计算机)。

不过,Cron 通常是准确的。如果您的主机的 cron 如此不同步,您应该联系他们并询问 - 这是不正常的。

编辑:此外,您可能需要考虑永久运行它并手动启动它,然后执行一个 cron 任务来检查它是否仍在运行,如果没有则重新启动它。

关于PHP set_time_limit 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7518439/

相关文章:

node.js - 检查日期过期的 Cron 作业

google-app-engine - Google App Engine cron 作业调度设置和定价

php - 路由到子文件夹中的 Controller 在 Laravel 4 中不起作用

php - 连接上传的文件和sql ID

docker - 如何在 docker 容器中使用 cron 运行 python 代码?

c++ - 睡后杀

ios - 在 macOS Sierra 上的任何 iOS 模拟器中 Nanosleep 太长

java - 线程中的 sleep 和连接输出

php - 可扩展性 101 : How can I design a scalable web application using PHP?

PHP rand(10000000000000,9999999999999) 返回 "-114888782"