首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何杀死正在执行的异步函数

如何杀死正在执行的异步函数
EN

Stack Overflow用户
提问于 2019-08-30 02:18:51
回答 1查看 95关注 0票数 2

我有一个网络刮刀,是运行在前景使用木偶。我需要杀死木偶师,这是一个异步函数(不是NODE.JS进程)。我为什么要杀了它?因为这个web抓取需要每一天执行一次,所以我想杀死它,因为出于某种原因(如果还在运行),相同的函数被执行了很多次。

这是我的代码:

代码语言:javascript
复制
class Webscraping {

   start(){
      this.scrapeWithPuppeteer()
      this.runPuppeteerAgainDaily()
   }

   scrapeWithPuppeteer() {
     // asynchronous code
   }

   runPuppeteerAgainDaily() {
      // I'm usingthe npm package "node-schedule"
      schedule.scheduleJob('5 52 21 * * *', () => {
         // KILL CURRENT this.scrapeWithPuppeteer()
         // and then
         this.scrapeWithPuppeteer()
      }) 
   }
   
  
}

let webscraper = new Webscraping()
webscraping.start()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-30 02:25:05

schedule.scheduleJob是节点调度 NPM模块的一部分.

如果你看这些文档,https://www.npmjs.com/package/node-schedule

可以看到,下面的代码取消了计划的作业:

代码语言:javascript
复制
job.cancel();

换句话说,跟踪你的工作,这样你就可以用上面的函数取消它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57719721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档