Подтвердить что ты не робот

Создание работника сельдерея с помощью node.js

Используя node-celery, мы можем включить node, чтобы направить задания Celery в очередь задач. Как мы можем позволить node быть работником сельдерея и потреблять очередь?

4b9b3361

Ответ 1

Для сельдерея, если конечная точка является amqp. Оформить заказ Celery.js Github любой процесс node начался с того, что потребитель 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
    })
  })
})

Ответ 2

Вот подход из документа Celery, показывающий REST API:

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

Кроме того, есть еще один способ быть независимым от языка и использовать REST-задачи, вместо того, чтобы ваши задачи были функциями, это URL-адреса. С помощью этой информации вы даже можете создавать простые веб-серверы, которые обеспечивают предварительную загрузку кода. Просто предоставьте конечную точку, которая выполняет операцию, и создайте задачу, которая просто выполняет HTTP-запрос к этой конечной точке.

пример: http://ask.github.io/celery/cookbook/remote-tasks.html