Хвост медленный - PullRequest
       7

Хвост медленный

0 голосов
/ 31 марта 2019

Размещенный на pythonAnywhere, работая в блокноте jupyter, я создаю регистратор

import logging
logging.basicConfig(
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    filename="/home/jaa/bot/ma_clipboard.log",
    level=logging.INFO)
logger=logging.getLogger(__name__)
logger.info(f"enabled the logger {logger}")

А в оболочке bash я записываю файл журнала: tail -f ma_clipboard.log.

ВнутриЗаписная книжка, я работаю с python-telegram-bot, который обрабатывает пользовательский ввод извне.

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

Я не уверен, каков источник задержки.Модуль logger?Команда tail?Что-то другое?Я не думаю, что это уникально для python-telegram-bot или что я работаю в Jupyter Notebook, так как у меня были похожие проблемы, связанные с лог-файлом django в прошлом году.

Как я могу уменьшить эту задержку вХвост файла журнала?

1 Ответ

4 голосов
/ 01 апреля 2019

Это PythonAnywhere dev здесь. Требуется некоторое время для нашей инфраструктуры, чтобы записать журнал в файл. Боюсь, что вы не сможете ничего сделать с вашей стороны.

Редактировать

После более внимательного изучения мы заметили, что проблема в другом, и она разрешима с вашей стороны. tail -f ищет изменение атрибутов файла. Доступ к вашим файлам осуществляется через nfs , который некоторое время кэширует атрибуты файла, что приводит к задержке реакции tail -f. Обходной путь - watch -n 0.1 tail [FILE], который мгновенно показывает вам изменения в файле. Вы можете настроить интервал 0,1 секунды, чтобы сэкономить время процессора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...