Gearman在非阻塞调用C ++中工作

时间:2012-09-27 17:14:50

标签: c++ gearman

是否可以将多个作业分配给同一个工作人员?

我的工作回调是非阻塞的。所以我可以使用同一个工人处理多个工作。根据讨论https://groups.google.com/forum/?fromgroups=#!topic/gearman/UyUxjY1VZUg,我应该使用来自gearman的grab_job API。但我在libgearman API doc中找不到任何相关函数。 http://gearman.info/libgearman/index.html

请帮助我找出如何使用单个工作人员处理多个工作?

1 个答案:

答案 0 :(得分:0)

Gearman协议不限制工人抓取的工作数量。只需发送多个GRAB_JOB数据包,只要剩余作业,gearmand就会将作业分配给工作人员。 但是某些客户端库API可能不支持此类操作。 因此,一种简单的方法是在一个进程中创建多个工作对象,并自行循环它们。