作为使用cron作业的一种可能替代方法,我发现了sleep功能。我以前从未用过。

如果我告诉我的脚本在一种循环中运行,并且在该循环中我有一条类似的指令

# sleeps for 86400 seconds or one day
sleep(86400);


我的脚本将在1天后再次启动吗?即使在此期间不再在Web浏览器上再次访问它,该怎么办?
我认为这是不可能的,但是我在这里问专家。

最佳答案

以我的经验,以这种方式使用PHP的主要问题不是Web服务器超时(有一些方法可以在服务器和平台上改变难度),但是内存泄漏。

简单明了的PHP代码往往会泄漏大量内存;在我进行了一些分析并放置了一些unset之后,我编写的大多数脚本能够完成数百倍的工作。而且我从来没有办法以这种方式防止所有泄漏。我还被告知标准库中存在内存泄漏,如果为true,则无法编写将在循环中长时间运行的守护程序。

10-08 06:41