Сейчас у меня есть настройка очереди RabbitMQ, и у меня есть несколько работников, которые прослушивают события, помещенные в эту очередь.
События по сути являются строковыми URL-адресами (например, "https://www.youtube.com"),", и они будут обработаны через кукловода.
Что мне интересно, так это то, что кукловод асинхронный, есть ли способ вернуть мне подтверждение, как только я закончу все асинхронные вещи.
Прямо сейчас, я думаю, что мои работники, слушающие очередь, зависают, потому что подтверждение не запускается.
edit - код ниже - это то, что я в значительной степени называю частью consume
rabbitmq. Поскольку это асинхронный режим, он просто проходит эту операцию и сразу же получает подтверждение.
(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();
})();