1

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

这是我的用例:

  1. 接收到开始工作的数据
  2. 作业开始处理
  3. 作业完成处理

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

4

1 回答 1

0

我认为您可以使用 crontabs 或 APScheduler 来执行此操作,我认为后者具有您需要的所有功能,但即使使用 cron 您也可以执行以下操作:

1:调度一个进程在特定时间间隔后运行

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

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

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

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

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

于 2020-05-12T20:13:26.973 回答