Node.js 如何处理异步任务类型的ACK
现在我有一个RabbitMQ队列设置,我有几个工人正在监听推送到这个队列上的事件 事件本质上是字符串URL(例如“”),它将通过Puppeter进行处理 我想知道的是,如果木偶演员是异步的,有没有一种方法可以让我在完成所有异步的东西后返回ack 现在,我认为我的员工在排队等候是因为ack没有被解雇 编辑——下面的代码是我在rabbitmq的Node.js 如何处理异步任务类型的ACK,node.js,rabbitmq,Node.js,Rabbitmq,现在我有一个RabbitMQ队列设置,我有几个工人正在监听推送到这个队列上的事件 事件本质上是字符串URL(例如“”),它将通过Puppeter进行处理 我想知道的是,如果木偶演员是异步的,有没有一种方法可以让我在完成所有异步的东西后返回ack 现在,我认为我的员工在排队等候是因为ack没有被解雇 编辑——下面的代码是我在rabbitmq的consume部分中调用的代码。因为这是异步的,所以它只是通过这个操作,然后立即确认 (async () => { const args
consume
部分中调用的代码。因为这是异步的,所以它只是通过这个操作,然后立即确认
(async () => {
const args = {
evaluatePage: (() => ({
title: $('title').text(),
})),
persistCache: true,
cache,
onSuccess: (result => {
console.log('value for result -- ', result.result.title);
}),
};
// we need to first setup the crawler
// then we can start sending information to it
const crawler = await HCCrawler.launch(args);
crawler.queue(urls);
await crawler.onIdle();
await crawler.close();
})();
您的代码在哪里?@0.sh抱歉,刚才添加了一些代码。因此,在hte
onSuccess
中,我可以得到操作的结果。在运行channel.ack(msg)
之前,如何确定onSuccess是否已被调用?