[英]php server background processes
我想知道如何实现某些php服务器后台功能来每秒处理一些评估(独立于用户查看页面)。
我当前的解决方案是通过每秒运行一次的cron作业完成的。 我想知道是否还有其他选择或可能性。
提前致谢
1)使用while循环和睡眠来编写程序。
while (1)
{
if (x == y) {
echo "yay!"
}
sleep(1);
}
2)用包装器编写程序,因此它永远不会崩溃。
while test 1
do
php /usr/local/bin/continual_process.php
done
这种方法的问题在于它始终使用CPU周期。 如果您将程序编写为node.js应用程序,那么事件驱动的体系结构和setTimeout
功能可以帮助扩展应用程序(并使您思考解决问题的另一种思路)。
此外,您必须考虑处理循环需要多长时间。 如果您每秒调用该程序,但是要花2秒钟的循环时间,那么您就在吞噬进程! sleep
方法可能也不值得。 如果循环需要2秒钟,并且您sleep 1
,则每3秒钟运行一次该过程。
最后,如果您的过程又快又轻松(在1秒循环内),请考虑使用setInterval
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.