我有一台运行 Cent OS 并带有并行 PLESK 面板的专用服务器。我需要每秒运行一个 PHP 脚本来更新我的数据库。这些在时间上是没有替代方法的,它需要每秒更新。
我可以使用 URL 找到我的脚本http://www.somesite.com/phpfile.php?key=123
.
能否每秒在本地执行该文件?喜欢phpfile.php
?
Update:
我添加这个问题已经过去几个月了。我最终使用了以下代码:
#!/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 作业结合起来that处理每一分钟,嘿,快点。
一种方法是这样的:
set_time_limit(60);
for ($i = 0; $i < 59; ++$i) {
doMyThings();
sleep(1);
}
您可能需要注意的唯一一件事是您的运行时间doMyThings()
功能。即使这只是几分之一秒,但超过 60 次迭代,加起来也可能会导致一些问题。如果您运行 PHP >= 5.1(或 Windows 上 >= 5.3),那么您可以使用time_sleep_until() http://au.php.net/manual/en/function.time-sleep-until.php
$start = microtime(true);
set_time_limit(60);
for ($i = 0; $i < 59; ++$i) {
doMyThings();
time_sleep_until($start + $i + 1);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)