使用CLI每秒运行一次PHP脚本

我有运行带有并行PLESK面板的Cent OS的专用服务器。我需要每秒运行一个PHP脚本来更新数据库。这些是时间上的替代方法,它需要每秒进行更新。

我可以使用URL找到我的脚本http://www.somesite.com/phpfile.php?key=123

每秒可以在本地执行该文件吗?喜欢phpfile.php吗?

自我添加此问题以来已经过了几个月。我最终使用了以下代码:

#!/user/bin/php

<?php

$start = microtime(true);

set_time_limit(60);

for ($i = 0; $i < 59; ++$i) {

doMyThings();

time_sleep_until($start + $i + 1);

}

?>

我的cronjob设置为每分钟。我已经在测试环境中运行了一段时间,它运行良好。这真的非常快,而且我看不到CPU和内存使用的增加。

回答:

您实际上可以在PHP中完成。编写一个程序,该程序将运行59秒钟,每秒检查一次,然后终止。与运行cron作业结合这 每分钟和变戏法似的过程。

一种方法是:

set_time_limit(60);

for ($i = 0; $i < 59; ++$i) {

doMyThings();

sleep(1);

}

您唯一需要注意的是doMyThings()函数的运行时间。即使那只是一秒钟的时间,但超过60次迭代,这加起来可能会引起一些问题。如果您运行的PHP> =

5.1(或Windows上的> =

5.3),则可以使用time_sleep_until()

$start = microtime(true);

set_time_limit(60);

for ($i = 0; $i < 59; ++$i) {

doMyThings();

time_sleep_until($start + $i + 1);

}

以上是 使用CLI每秒运行一次PHP脚本 的全部内容, 来源链接: utcz.com/qa/425810.html

回到顶部