2014-01-02 1 views
1

Мне нужно запустить ночное задание (процесс Python) на машине Ubuntu, используя upstart. Служба должна запускаться каждые 24 часа и работать немного дольше, чем 24,5 часа. Причиной этого перекрытия является то, что процесс читается из внешней очереди, обрабатывает данные и помещает их в базу данных, поэтому остановка одного сеанса обслуживания перед запуском следующего приведет к потере данных.Правильный способ прекратить услугу выскочки после заданного количества времени?

Если процесс выходит из строя в любое время до прохождения 24,5 часов, его необходимо перезапустить, но после 24,5 часов он должен просто остановиться.

Каков правильный способ указать это условие завершения либо в файле .conf, либо в команде start?

ответ

0

1) что вы в основном хотите достичь, этот процесс n закрывается первым, когда процесс n + 1 запущен.

Почему вы не пытаетесь заверить, что процесс n заканчивается, когда процесс n + 1 уже запущен с любым флагом, как файл с некоторой меткой времени?

2) если он не работает, его необходимо перезапустить и продолжить до 24,5 часов. Кроме того, я бы посоветовал написать это время окончания на диск и извлечь его оттуда в случае сбоя.