Gearman队列和symfony2:作业不应该排队?

时间:2015-05-07 19:14:36

标签: multithreading symfony gearman

我真的有两大问题:

场景:我有一个执行视频处理的进程。我有一个工人。我使用带有gearbundle(mmoreram)的symfony2实现了gearman

  • 我发送这个持续3分钟的backgroundJob。我必须在每次请求时发送它(用户上传视频)。问题是首先要求的人被处理。虽然这是有效的,并且收到更多请求,但其他人应该排队等候,对吗?当工人自由时,应该进入下一个队列吗?但是......为什么其他人永远不会到达工人那里。会发生什么事?可能会遗漏什么? Gearman是任务队列吗?

  • 这是个人的:为什么工人需要迭代?迭代意味着在处理n次迭代时结束工作。我为什么要杀死我的工人?

谢谢!

1 个答案:

答案 0 :(得分:0)

是。工作人员完成工作后,应处理下一个工作。这就是Gearman工作和应该工作的典型程度。

正如您所说,未处理下一个作业,那么您的工作人员代码肯定会出现问题。如果您可以通过一些示例代码更详细地解释您正在尝试做的事情,那将是一件好事。 如果您从工作人员代码启用日志记录以便了解发生了什么,那就太好了。

您甚至应该尝试使用Geaman监控工具,它可以帮助您了解计划,处理,失败的工作数量等。您的一些参考资料

关于第二个问题,完成N个工作后无需杀死工人。