Hello
@SirkFun, thank you for reaching out and for the interesting question. Running two crawlers in parallel is possible but there are some constraints. The major one is that you can't on request queue (RQ) for both crawlers because there is no mechanism for the crawler to only handle some of the requests in the RQ.
Provided that you have two RQs you can run the PlaywrightCrawler to get the page detail URLs and as you resolve them you can add them to the RQ for the CheerioCrawler to scrape.
The last important bit is that you need to make sure that the CheerioCrawler is only allowed to stop once the PlaywrightCrawler has stopped. You can do this by defining
isFinishedFunction
in
autoscaledPoolOptions
of the CheerioCrawler ([docs](
https://crawlee.dev/js/api/core/interface/AutoscaledPoolOptions#isFinishedFunction)).
Here is an example implementation for this function:
autoscaledPoolOptions: {
isFinishedFunction: async () => !playwrightCrawler.running &&
(await crawlerA._defaultIsFinishedFunction()),
},