2014-01-19 36 views
28

使用node-celery,我们可以启用节点将Celery作业推送到任务队列。我们如何让节点成为芹菜工作者并使用队列?使用node.js创建芹菜工作者

+2

我正在寻找相同的解决方案。如果你找到任何东西,你能告诉我吗? – nathanengineer

+0

@nathan什么都没有。你可以尝试upvoting这个问题! – Nyxynyx

+0

@Nyxynyx您是否找到了实现这一目标的最佳方式? – Swamy

回答

6

对于芹菜如果终点是amqp。结帐Celery.js Github任何节点进程作为amqp使用者启动都会正常工作。对于其他每个self.conf.backend_type类型,您都可以拥有不同的消费者。以下示例仅适用于amqp。

一个这样的例子。下面的message可能是Celery任务对象。

var amqp = require('amqp'); 
var connection = amqp.createConnection({ host: "localhost", port: 5672 }); 
connection.on('ready', function() { 
    connection.queue("my_celery_queue", function(queue){ 
    queue.bind('#'); 
    queue.subscribe(function (message) { 
     //eat your Celery work here 
    }) 
    }) 
})