在预定的时间后终止新贵服务的正确方法?

时间:2014-01-02 19:13:35

标签: ubuntu terminate upstart

我需要使用upstart在Ubuntu机器上运行夜间作业(Python进程)。该服务必须每24小时开始运行一段时间,比如24.5小时。这种重叠的原因是进程从外部队列读取,处理数据并将其推送到数据库,因此在启动下一个服务会话之前停止一个服务会话将导致数据丢失。

如果进程在24.5小时之前的任何时间崩溃,则必须重新启动,但在24.5小时之后它必须停止。

.conf文件或start命令中指定此终止条件的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

1)你基本上想要实现的是,当进程n + 1开始时,进程n首先关闭。

为什么不尝试确保进程n刚刚完成,当进程n + 1已经用任何标志启动时,如带有某个时间戳的文件?

2)如果失败,则需要重新启动并持续剩余的时间直到24.5。此外,我建议将完成时间写入磁盘,并在发生故障时从那里检索它。