使用node.js创建芹菜工人



使用节点 - 元素,我们可以使节点将芹菜作业推向任务队列。我们如何允许节点成为芹菜工人并消耗队列?

对于芹菜,如果终点为AMQP。Checkout Celery.js github任何节点过程都开始,因为AMQP消费者可以正常工作。对于其他每种self.conf.backend_type类型,您都可以拥有多样化的消费者。以下示例仅适用于AMQP。

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

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
    })
  })
})

这是芹菜文档的一种方法,通过公开REST API:

http://docs.celeryproject.org/en/latest/faq.html#is-celery-multlindual

此外,还有另一种独立于语言的方法,那是使用休息任务,而不是您的任务是功能,而是URL。有了这些信息,您甚至可以创建简单的Web服务器,以启用代码预加载。只需公开执行操作的端点,并创建一个刚刚执行HTTP请求的任务。

一些示例:http://ask.github.io/celery/cookbook/remote-tasks.html

相关内容

  • 没有找到相关文章

最新更新