我有一个每5分钟在cron上运行的PHP脚本。
*/5 * * * * /var/www/html/processMail.php
在脚本中有一个我想每15分钟执行一次的函数,因此该函数将处于睡眠模式,但脚本的其余部分将每5分钟处理一次。
这个疯狂的想法会起作用吗?
答案 0 :(得分:4)
这个疯狂的想法会起作用吗?
不,不会。每个15分钟的功能 - 即使你设法等待15分钟 - 每5分钟执行一次 - 所以15分钟的功能每5分钟执行一次。而是创建第二个脚本,每15分钟执行一次或添加一个参数:
*/5 * * * * /var/www/html/processMail.php --mins=5
*/15 * * * * /var/www/html/processMail.php --mins=15
然后使用该功能来解析commandline-parameters in PHP(和getopt
)以进行相应处理。另见the section about commandline usage in the PHP manual。
答案 1 :(得分:1)
您可以将迭代器保存在文件或数据库中,并在每次运行后将其递增,这样您只能在脚本运行3次后运行一次。
然而,一个更好的解决方案就是编写另一个脚本并每15分钟运行一次。