运行非常长的脚本 - 如何让它们运行并在它们失败时再次启动它们?

时间:2011-09-07 13:23:34

标签: php python process centos process-management

我需要在CENTOS服务器上运行一堆长时间运行的进程。

如果我让进程(python / php脚本)运行,有时进程会因为琐碎的错误而停止运行,例如。字符串编码问题或有时因为该进程似乎被服务器杀死

我尝试使用nohup并从crontab

中解雇作业

有没有办法让这些进程以保存所有变量的方式运行,我可以从停止的位置重启脚本?

我知道我可以将其编程到代码中,但更喜欢一个通用实用程序,它可以使这些内容保持运行,以便即使存在重大错误也能完成脚本。

也许我需要某种过程管理工具?

非常感谢任何建议

1 个答案:

答案 0 :(得分:3)

  

有没有办法让这些进程保持运行,以便保存所有变量,我可以从停止的地方重新启动脚本?

是。它被称为创建“检查点”或“纪念品”。

  

我知道我可以编程

好。开始吧每个问题都是独一无二的,因此您必须创建,保存和重新加载纪念品。

  

但更喜欢一个通用的实用工具,它可以让这些东西保持运行,这样即使出现了一些微不足道的错误,脚本也会完成。

它没有很好地概括。并非所有变量都可以保存。只有您知道以有意义的方式重新启动流程所需的内容。

  

也许我需要某种过程管理工具?

不是。

  

微不足道的错误,例如。字符串编码问题

通常,我们通过单元测试找到这些。这节省了大量的编程来解决错误。一盎司的预防值得一大堆愚蠢的解决方案。

  

有时因为进程似乎被服务器杀死了。

什么?你最好找出原因。一盎司的预防值得一大堆愚蠢的解决方案。