【问题标题】:Best way to monitor and restart python script [duplicate]监视和重新启动python脚本的最佳方法[重复]
【发布时间】:2018-06-05 13:17:50
【问题描述】:

我有一个运行几个小时来处理每条记录的 python 脚本。另外,与此同时,我想运行相同的脚本,但出于其他目的使用其他参数。

有时会引发异常并导致脚本停止。有时操作系统会重新启动。

所以我想在操作系统级别进行检查。 这样,如果脚本停止,请重新启动脚本。

解决此问题的最佳方法是什么?

【问题讨论】:

  • 这并不是真正的 Python 特定的——最佳实践是使用您的操作系统供应商支持的任何进程监督系统,不知道您的软件是用什么语言编写的 .
  • 如果您的操作系统供应商支持 Upstart?使用新贵。他们支持systemd?使用系统。他们支持launchd?用那个。他们什么都不发货?想想RunitDaemontoolsSupervisors6。 (就个人而言,在这种情况下,我会倾向于 s6 或 runit)。
  • ...顺便说一句,这个问题不受欢迎的主要原因是,在要求“最好的”X时,当周围有很多X的实现时,它会趋向作为民意调查或推荐请求(请参阅stackoverflow.com/help/on-topic 的“一些问题仍然离题”中的#2),而不是存在规范、客观完整和正确答案的东西。

标签: python linux


【解决方案1】:

不久前我发现自己问了一个类似的问题。我曾将PM2 用于NodeJS 应用程序,并发现Supervisor 更通用且非常相似。非常干净的 Web 界面可以远程监控进程状态,事件 API 非常有助于在进程失败时自动通知。

【讨论】:

  • 这更像是一个评论而不是一个答案。否则,它是“仅链接的答案”。您应该考虑用更多信息来完善答案
  • (就我个人而言,我认为 Web 界面是一种责任,而不是一种特性——这是攻击面,而不是标准控制套接字——正如大多数其他监督系统所使用的那样——其中 UNIX权限允许精细控制哪些帐户可以/不能打开以进行写入)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-08
  • 2020-09-13
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多