Php 雉语储备功能
我刚开始使用pheanstalk,我对reserve函数有一个问题。我有以下工作脚本代码:Php 雉语储备功能,php,beanstalkd,pheanstalk,Php,Beanstalkd,Pheanstalk,我刚开始使用pheanstalk,我对reserve函数有一个问题。我有以下工作脚本代码: <?php //... code that requires the autoload.php page among and other $queue = new Pheanstalk_Pheanstalk("127.0.0.1:11300"); $queue->watch("action_tube"); $job = $queue->reserve(); //.
<?php
//... code that requires the autoload.php page among and other
$queue = new Pheanstalk_Pheanstalk("127.0.0.1:11300");
$queue->watch("action_tube");
$job = $queue->reserve();
//... code that would then output the information obtained from the job
?>
我遇到的问题是,在执行reserve函数时,代码总是被卡住。我知道这是因为我在浏览器中运行了这段代码,并在注释代码时使用了echo
,以查看代码被卡住的确切位置。这就好像在reserve函数中发生了一个无限while循环
例如,如果我要注释掉$job=$queue->reserve()
,代码将自动降低,页面将立即加载,但是如果我不注释掉,浏览器中的循环加载将永远持续下去
问题:我为什么会有这个问题?这对于备用功能正常吗?它只是站在等待队列中出现的东西吗?实际上,我有一个从以前的脚本中创建的
“action\u tube”
队列,因此我认为reserve
函数会去掉其中的一些。队列的状况是否会导致保留功能暂停?非常感谢您的反馈 豆茎储备将永远运行,直到作业准备就绪
保留
块,直到作业准备就绪,可能是永远。如果不需要这样做,我们可以调用reserve,并指定我们希望等待多长时间来接收作业的超时时间(以秒为单位)。如果此保留超时,它将返回None
:
发现此豆茎保留将永远运行,直到作业准备就绪
保留
块,直到作业准备就绪,可能是永远。如果不需要这样做,我们可以调用reserve,并指定我们希望等待多长时间来接收作业的超时时间(以秒为单位)。如果此保留超时,它将返回None
:
找到这个哦,那么它应该是一个永久循环,直到它在队列中找到某个对象?哦,那么它应该是一个永久循环,直到它在队列中找到某个对象?
>>> beanstalk.reserve(timeout=0) is None
True