supervisor为什么意外停止?

公司有个天气系统,每隔两小时调用第三方API来更新本地数据库的天气数据,定时用的supervisor 守护 php处理脚本, 在supervisor的stdout中记录每次更新地区的ID。
问题现象:
假如有十个地区(ID 1-10), 发现每隔几天后就会发生没有更新完就停止了(比如更新到第5个地区),而且就这样挂起一样,隔了两小时之后也不会再次更新,但是supervisor的这个进程还是在运行的。往往都是我隔天才发现,然后我restart 那个定时任务一下就又正常了,然后又是几天正常更新。。。stderr 没有任何报错记录。
疑问:

  1. 为啥会脚本执行到一半会中止?
  2. 就算脚本出错,进程为啥还在?任务都设定了异常退出自动重启的次数,而在日志记录里面并没有说这个进程有任何异常,是一直运行的。
阅读 4.3k
1 个回答

如果你用的最新的 centos ubuntu 或者 debian ,那么我给你推荐个代替 supervisor 的方法,用 系统自带的systemd,相关教程如下 https://www.l68.net/2757.html

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进