如何从系统故障中恢复关键python作业

2024-06-01 02:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有任何python库可以提供(通用)作业状态日志记录和恢复功能

以下是我的用例:

  1. 接收到用于启动作业的数据
  2. 作业开始处理
  3. 作业完成处理

然后,如果进程中止/断电,我希望能够在1之后重新启动作业。作业将在作业开始时写入日志文件,并在作业完成时标记作业完成。因此,当进程启动时,它会检查日志文件中是否有未完成的作业,并使用日志数据重新启动未完成的作业(如果存在)。那么有什么python工具可以解决这个问题呢?(或为必须完成的关键作业提供容错和恢复的其他python解决方案)。我知道像RabbitMQ这样的作业队列在这种情况下可以很好地工作,但我想要一个不需要外部服务的解决方案。我没有得到多少。有什么解决办法吗?似乎这方面的库是有用的,因为在使用日志时有很多问题很难正确处理,但库可以处理。(例如多个异步写入、文件拆分和截断等)


Tags: 文件工具数据标记功能队列进程作业
1条回答
网友
1楼 · 发布于 2024-06-01 02:18:52

我认为您可以使用crontab或APScheduler实现这一点,我认为后者具有您所需的所有功能,但即使使用cron,您也可以执行以下操作:

1:计划进程在特定时间间隔后运行

2:进程检查是否有正在运行的作业

3:如果没有作业正在运行,请启动一个作业

4:作业继续工作,并将状态保存到驱动器/db中

5:如果失败或完成,步骤3将继续

APScheduler可能是您正在寻找的,它们的功能列表非常广泛,如果不能满足您的需求,它也可以扩展

相关问题 更多 >