我有一个作为守护程序运行的 Jython 脚本。它启动,登录到服务器,然后进入一个循环,检查要处理的东西,处理它们,然后休眠 5 秒。
我有一个 cron 作业,每 5 分钟检查一次,以确保进程正在运行,如果没有,则再次启动它。
我有另一个 cron 作业,每天一次,无论如何都会重新启动该过程。我们这样做是因为有时守护程序与服务器的连接有时会搞砸,并且无法判断何时发生这种情况。
我对这个“解决方案”的问题是第二个 cron 作业终止了进程并启动了另一个进程。如果它在睡眠时被杀死是可以的,但是如果守护进程在它被杀死时正在处理事情,那么可能会发生不好的事情。
停止守护进程的正确方法是什么......而不是仅仅杀死它?
在 Python 或 Java 中是否有一般的标准做法?将来我可能会转向纯 Python 而不是 Jython。
谢谢