首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用sleep()或cron作业

使用sleep()或cron作业
EN

Stack Overflow用户
提问于 2009-06-25 15:33:07
回答 4查看 3.5K关注 0票数 2

我有这个邮件脚本,我必须运行几次。要启动该脚本,我将使用cron,但该脚本必须再运行2到3次(间隔一个小时)。

做这件事最好的方法是什么?要使用一个小时的睡眠命令,或者在脚本的末尾,放置一些代码,以便脚本将创建一个新的cron作业,以便在一个小时后自动运行它?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-06-25 15:37:57

除非在内存中保持脚本运行可以节省一些成本,否则最好使用cron根据需要每小时调用一次。

代码语言:javascript
运行
复制
0 0-2 * * * /usr/local/bin/mail-script.php

您可以使用-语法或逗号语法选择多个小时:

代码语言:javascript
运行
复制
0 0,1,2,3 * * * /usr/local/bin/mail-script.php

如果它需要维护某种形式的状态,请使用临时文件来保存保存的状态。

执行以下操作:

代码语言:javascript
运行
复制
> man 5 crontab

查看您的*nix是否处理上述情况。

最后,除非你知道脚本只需要运行2-3次,否则你最好把关于是否“运行”的逻辑放在PHP脚本本身中,然后每小时运行一次。

票数 7
EN

Stack Overflow用户

发布于 2009-06-25 16:43:57

使用sleep()的一个优点是它可以更好地移植。例如,在我使用的许多系统上,不允许用户拥有自己的cron作业-因此编写自己的计时器可能是一个优势。

sleep()的另一种选择是使用SIGALRM (这样脚本就可以捕获中断并在某个时间间隔执行代码-当该中断被抛出时)。

我的意思是,我会推荐使用cron --但是这里有一些替代方案!

票数 2
EN

Stack Overflow用户

发布于 2009-06-25 15:37:14

我不确定哪种方法(休眠一个小时,或者从php创建cron作业)都是理想的,不管怎样,如果cron作业每小时运行一次,然后php脚本检查它是否应该运行呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1044606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档