我已经定义enqueueMessage
了将消息排入rabbitMQ队列的函数。在函数的第一行中,我正在创建通道。这意味着每次我调用enqueueMessage
一个频道时都会创建。这是正确的方法还是我应该创建顶级channel
变量并重用它?
如果我创建顶级频道,我应该做更多的编码来处理频道因某种原因自动关闭的情况(网络中断)
export async function enqueueMessage(queue: string, message: object) {
const channel = await connection.createChannel();
await channel.assertQueue(queue);
channel.sendToQueue(queue, Buffer.from(JSON.stringify(message)));
}