Почему Python TimedRotatingFileHandler не выполняет опрокидывание, если выполняются задания Celery?Python

Программы на Python
Ответить
Anonymous
 Почему Python TimedRotatingFileHandler не выполняет опрокидывание, если выполняются задания Celery?

Сообщение Anonymous »

Python 3.12.3, Celery 5.3.6, Django 4.2.11, Ubuntu 22.04.4
У меня есть инфраструктура серверов Django и Celery, работающая одновременно на сервере Ubuntu.< /p>
Для регистрации я использую DiscordHandler и настроенный TimedRotatingFileHandler, определенный следующим образом:

Код: Выделить всё

class CustomizedTimedRotatingFileHandler(TimedRotatingFileHandler):
'''
log_name.date.log.log -> log_name.date.log
'''
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.namer = lambda name: name.replace(".log", "") + ".log"
Логирование проекта настраивается в файле настроек:

Код: Выделить всё

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
**{
f"{k}_file": {
"level": "INFO",
"class": "api.logging.CustomizedTimedRotatingFileHandler",
"filename": "log/sync.log",
"when": "midnight",
"backupCount": 2,
"formatter": v,
} for k, v in {"django": "verbose", "celery": "celery"}.items()
}
},
'loggers': {
'django': {
'handlers': ['django_file'],
'level': 'INFO',
'propagate': True,
},
'django.server': {
'handlers': ['django_file'],
'level': 'INFO',
'propagate': False,
},
'celery': {
'handlers': ['celery_file'],
'level': 'INFO',
'propagate': False,
}
}
}
Сейчас у меня есть 2 файла журнала, а затем файл сегодняшнего дня (в который входят журналы только из Django, а не из Celery).
Изображение

Я просмотрел журналы разногласий и увидел, что некоторые задания по сельдерею работают в полночь. И это не первый случай, на самом деле всегда было так, что в полночь были текущие задачи, которые прерывали ролловер.
Как мне получить правильную регистрацию файлов? Единственное, что я могу предположить, это то, что мне придется вручную выполнить Rollover (как задачу сельдерея).
Любая помощь приветствуется

Подробнее здесь: https://stackoverflow.com/questions/793 ... -celery-jo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»