forked from thomasdondorf/puppeteer-cluster
-
Notifications
You must be signed in to change notification settings - Fork 0
/
function-queuing-simple.js
33 lines (26 loc) · 885 Bytes
/
function-queuing-simple.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
const { Cluster } = require('../dist');
(async () => {
const cluster = await Cluster.launch({
concurrency: Cluster.CONCURRENCY_CONTEXT,
maxConcurrency: 2,
});
// We don't define a task and instead queue individual functions
// Make a screenshot
cluster.queue(async ({ page }) => {
await page.goto('http://www.wikipedia.org');
await page.screenshot({path: 'wikipedia.png'});
});
// Extract a title
cluster.queue(async ({ page }) => {
await page.goto('https://www.google.com/');
const pageTitle = await page.evaluate(() => document.title);
console.log(`Page title is ${pageTitle}`);
});
// And do more stuff...
cluster.queue(async ({ page }) => {
await page.goto('https://www.google.com/');
// ...
});
await cluster.idle();
await cluster.close();
})();