如果我使用以下代码向RabbitMQ发送消息:
var amqp = require('amqp');
var connection = amqp.createConnection();
connection.on('ready', function() {
connection.publish('foo', 'Hello');
process.exit();
});
那么消息就永远不会被发送,这个过程就结束了。如果我删除了process.exit()
,那么消息就会被发送,但这个过程永远不会退出。
如何让节点amqp告诉我它何时发送了消息?
在发布函数中使用回调。在回调中结束连接并退出。
connection.publish('foo', 'hello', function(){
connection.end();
process.exit();
});