我正在使用node-celery向RabbitMQ实例(3.5.7)发布消息,然后将消息分发给几个python芹菜工作者。一切似乎都运行良好,但经过多次测试后,似乎套接字描述符正在填满因此拒绝更多连接。我的猜测是连接应该关闭,但它们不是。
这是我发送到相应路由的Node.js代码。我尝试在某一点添加client.end
,但它甚至不会发送消息。
// Initialize connection to rabbitmq
var client = celery.createClient({
CELERY_BROKER_URL: config.rabbitmq.connection,
CELERY_ROUTES: config.rabbitmq.routes,
IGNORE_RESULT: true
});
//send the message to the worker
client.on('connect', function () {
var calculateTotal = client.createTask("calculateTotal\.run");
var emailUser = client.createTask("emailUser\.run");
var subscribeToMailing = client.createTask("subscribeToMailing\.run");
calculateTotal.call([messageToRabbit]);
emailUser.call([messageToRabbit]);
subscribeToMailing.call([messageToRabbit]);
});