【发布时间】:2013-07-31 05:03:35
【问题描述】:
我有 beanstalkd 设置。我正在使用 pheanstalk php 库来添加工作和为我的工人。
添加作业工作正常,我正在数据库中记录作业 ID 以供以后参考。没有作业 ID 被跳过 IE:它们依次编号:1、2、3、4
现在工作的部分是工人。他们工作的事实是他们做应该做的事情,但我让其中三个在运行,出于某种原因,同一个工作会运行两到三遍,而不是只运行一次。
我不确定为什么会发生这种情况,我只是使用带有内存检查的 while 循环 + 我的工作代码来监控新工作。
这是该代码的开始。
while (1) {
$job = $this->pheanstalk->watch('my_tube')->ignore('default')->reserve();
$job_decoded = json_decode($job->getData(), false);
这是 benstalk 控制台的输出。忽略第一行,因为这是我不使用的默认管。
在队列中再添加一项作业后,总列增加到 4 并且没有其他任何变化。
【问题讨论】:
标签: php beanstalkd pheanstalk