войти в хрон в реальном времени

У меня есть процесс Python, который я запускаю ночью через crontab. Он очищает API, к которому у меня ограниченный доступ, поэтому регулярно приходится останавливаться и ждать час.

По моим оценкам, работа должна занять 5-6 часов.

На данный момент у меня есть crontab как таковой:

05 01 * * * python3 /home/{my username}/path/to/process/main.py >> /var/log/process_name.log 2>&1

Это замечательно и доказало, что файл работает, но я могу проверить вывод только после того, как он завершит работу, что для я не идеален. Учитывая время, необходимое для запуска, я бы предпочел, чтобы cron регистрировал результаты и ошибки в реальном времени.

Это немного больше проблема сейчас, так как кажется, что мои оценки неверны, и я могу ждать намного дольше, чем я думаю, - в таком случае я хотел бы посмотреть, что регистрируется, чтобы я мог понять, почему.

Есть ли способ зарегистрировать вывод cron в режиме реального времени?

2
задан 17 April 2015 в 10:31

1 ответ

То, в чем Вы нуждаетесь, является названным сбрасыванием механизма: то, чтобы вынуждать процесс записать его вывод, который иначе остался бы буферизированным до завершения.

Сценарии оболочки сбрасывают на линию за линией основание. При необходимости в выводе сценария оболочки, прежде чем сценарий будет закончен, удостоверьтесь, что он содержит новую строку.

программы Python могут явно сбросить свой stdout путем вызова метода сброса:

import sys
sys.stdout.flush()
1
ответ дан 17 April 2015 в 20:31

Другие вопросы по тегам:

Похожие вопросы: