首页 > 解决方案 > 我想在 puppeteer-cluster 中创建无限循环

问题描述

我想在 puppeteer-cluster 中创建无限循环

我的代码

但是大约 30 秒后,它导致空闲,我该怎么办?

标签: node.jspuppeteer-cluster

解决方案


您的代码中可能会引发超时错误。你有两个选择:

选项 1:监听抛出的错误

由于您没有列出taskerror事件,因此不会处理在此过程中引发的任何错误。

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

选项 2:增加超时值

如果您的任务需要很长时间,您可以增加该timeout值:

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

通常,您不应在cluster.queue函数内部创建无限循环。队列为您处理确切的任务。您将工作排队,然后该cluster.task功能会处理它们。无需为任务创建无限循环。


推荐阅读