Я пытаюсь использовать комбинацию пользовательского регистратора Django и задачи Celery для захвата определенных сообщений журнала приложений и асинхронного сброса их в DynamoDB. Я создал задачу Django Celery, которая принимает сообщение журнала и асинхронно передает его в DynamoDB. Я попытался вызвать эту задачу с сельдереем из своего пользовательского регистратора, чтобы асинхронно передать ее в DynamoDB.
Однако пользовательский регистратор Django не позволяет мне импортировать:
from celery.task import task, Task, PeriodicTask, periodic_task
Мой сервер вылетает из-за ошибки ниже:
ValueError: Unable to configure handler 'custom_handler': Cannot resolve 'myApp.analytics.tasks.LogHandler': cannot import name cache
Я знаю, что Django Logger docs предостерегает от циклический импорт, если файл настраиваемого регистратора включает settings.py, но я убедился, что это не так. Но он по-прежнему дает мне ту же ошибку, что и при циклическом импорте.
Я что-то делаю не так или есть другой способ добиться асинхронной передачи данных в DynamoDB с помощью настраиваемого регистратора Django и DjCelery?
Спасибо за любую помощь.
settings.py
, создать задачу вtasks.py
и LogHandler вызовет эту задачу? - person demalexx   schedule 17.07.2012