我举个puppeteer的例子。
现在的需求是: 1、用户通过前端点击一个按钮,给php的后端发一个ajax请求 2、php通过调用nodejs写的脚本获取puppeteer生成的截图 3、把截图发送到前端
问题:
因为这个脚本每次调用,都会重新执行一次 puppeteer.launch() -> browser.newPage() -> 截图 -> browser.close(),但是现在希望,puppeteer.launch()和 browser.close(只执行一次,也就是在脚本开启和脚本关闭的时候执行。而browser.newPage() -> 截图希望在每次请求的时候再执行。也就是说希望puppeteer的启动和关闭在一个脚本A,截图在脚本B,而脚本A是一直运行的,直到人为手动关闭。而每次执行node B.js就可以无需启动puppeteer而执行截图功能。
请问这种效果要怎么做?目前想到的是把这段脚本写成一个类似web的服务,每次请求来了就用http请求这个截图服务,然后返回相应的response。
有没有一种方法是可以,将puppeteer的启动和关闭的脚本放在一个进程里,然后另外一个进程主要做的是截图的代码?