Я хочу создать бесконечный цикл в кластере кукловодов - PullRequest
0 голосов
/ 17 июня 2019

Я хочу создать бесконечный цикл в кластере кукловодов

Мой код

, но примерно через 30 секунд это привело к простоям Что делать?

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Возможно, в вашем коде есть ошибки тайм-аута.У вас есть два варианта:

Опция 1: прослушивание сгенерированных ошибок

Поскольку вы не перечисляете события taskerror, любые ошибки, возникшие в процессе, не будутобработано.

cluster.on('taskerror', (err, data) => {
      // handle error
});

Вариант 2: Увеличить значение времени ожидания

Если ваша задача занимает очень много времени, вы можете увеличить значение timeout:

const cluster = await Cluster.launch({
    // ...
    timeout: 120000 // 2 minutes
});

В общем, вы не должны создавать бесконечные циклы внутри функции cluster.queue.Очередь выполняет именно эту задачу для вас.Вы ставите свои работы в очередь, а затем функция cluster.task заботится о них.Нет необходимости создавать бесконечный цикл для задач.

0 голосов
/ 19 июня 2019

Тридцать секунд - время по умолчанию для времени ожидания в кукловоде, поэтому вы можете попытаться отключить время ожидания, используя page.setDefaultNavigationTimeout(0) и page.setDefaultTimeout(0)

см .: https://github.com/GoogleChrome/puppeteer/issues/1514
и: https://github.com/GoogleChrome/puppeteer/issues/2079

...