使用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