Celery is an asynchronous task/job queue based on distributed
message passing. node-celery allows to queue tasks from Node.js.
If you are new to Celery check out http://celeryproject.org/
Note: When using AMQP as result backend with celery prior to version
3.1.7 the result queue needs to be non durable or it will fail with a:
Queue.declare: (406) PRECONDITION_FAILED.
var celery =require('node-celery'),
client =celery.createClient({
CELERY_TASK_RESULT_DURABLE:false
});
For RabbitMQ backends, the entire broker options can be passed as an object that is handed off to AMQP.
This allows you to specify parameters such as SSL keyfiles, vhost, and connection timeout among others.
var celery =require('node-celery'),
client =celery.createClient({
CELERY_BROKER_OPTIONS:{
host:'localhost',
port:'5672',
login:'guest',
password:'guest',
authMechanism:'AMQPLAIN',
vhost:'/',
ssl:{
enabled:true,
keyFile:'/path/to/keyFile.pem',
certFile:'/path/to/certFile.pem',
caFile:'/path/to/caFile.pem'
}
},
CELERY_RESULT_BACKEND:'amqp'
});
ETA
The ETA (estimated time of arrival) lets you set a specific date and time that is the earliest time at which your task will be executed: