我是靠谱客的博主 专一草莓,最近开发中收集的这篇文章主要介绍[cron、schedule] 解决pm2 cluster 模式启动导致定时任务多次执行的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
描述
- pm2 cluster 启动项目如果其中有定时任务, 这个定时任务在每个worker中都会执行一遍, 可能会有性能浪费或导致一些问题
解决
- pm2 启动会默认自带一个 'NODE_APP_INSTANCE' 的环境变量, 它从 0 开始自增, 永远不能能重复, 每一个worker拥有一个值
- 程序中启动定时任务, 或者执行方法的时候判断下 if(process.env.NODE_APP_INSTANCE === '0'){// TO DO ...} 这样就可以在某个worker里执行一次
- 也可以在pme.json中重命名该变量名称 instance_var: 'INSTANCE_ID'
*技巧: pm2的自增变量是从0开始, 可以根据id判断从而启动一个或者多个(id== 0 || id==1)
官网传送
感谢您的阅读!如果文章中有任何错误,或者您有更好的理解和建议,欢迎和我联系!
最后
以上就是专一草莓为你收集整理的[cron、schedule] 解决pm2 cluster 模式启动导致定时任务多次执行的问题的全部内容,希望文章能够帮你解决[cron、schedule] 解决pm2 cluster 模式启动导致定时任务多次执行的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复