node-cron job 重复执行,试过 stop(),但是无法有效停止 cron job.
发布于 7 年前 作者 onebook0505 3919 次浏览 来自 问答

服务器环境

服务器是 ubuntu 16.04 并且使用了小型 Paas dokku 0.9.4。 使用这个 package : https://github.com/kelektiv/node-cron

问题

问题是这样的,原本 node-cron 运行良好,但是最近把机器升级了,变成 2颗CPU,再次启动机器并且 rebuild dokku container 后, 就开始有了 cron-job 重复执行的问题。

我该如何查询服务器既有的 cron job,并且删除不适用的 cron job ?

已尝试过的解决方案

  • 我尝试过使用node-cron 提供的stop() 方法去停止cron-job,但是当我再次把代码 push 到 dokku 上时,它只是不會運作這次代碼的 cron job, 并没有办法停止之前已经开始运行的 cron job。
  • 尝试过使用 crontab 命令来查询目前的 cron job,但是这个命令在 dokku container 里面不被允许。
4 回复

@imhered 我使用的是这个 package https://github.com/kelektiv/node-cron, 你提到的 https://www.npmjs.com/package/node-cron#destroy 有办法删除全部的 cron job 吗?

@onebook0505 应该不行吧, 你可以把所有的任务对象放在一个object里,直接管理这个object就好了啊

@imhered 之前已经透过 https://github.com/kelektiv/node-cron new CronJob 产生的任务要如何删除?( 当我再次 push 代码时,前一次代码的new Cronjob 并没有移除 )

回到顶部