使用node-celery,我们可以启用节点将Celery作业推送到任务队列。我们如何允许节点成为Celery工作者并使用队列?
答案 0 :(得分:8)
对于Celery,如果终点是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
})
})
})
答案 1 :(得分:1)
这是Celery文档的一种方法,它公开了REST api:
http://docs.celeryproject.org/en/latest/faq.html#is-celery-multilingual
此外,还有另一种独立于语言的方式,那就是使用REST任务,它们不是URL的功能,而是功能。借助这些信息,您甚至可以创建简单的Web服务器来启用代码预加载。只需公开一个执行操作的端点,然后创建一个仅对该端点执行HTTP请求的任务即可。