Потенциальные проблемы с потоками Django/Celery/amqp
В настоящее время я работаю с системой, которая предоставляет бэкенд Django для обслуживания rest API. В дополнение к этому мы предоставляем обновления экземпляру RabbitMQ с помощью celery при изменении записей в приложении Django.
uwsgi используется для размещения нескольких (5) экземпляров бэкенда Django, а также имеет настройку attach-daemon, которая запускает 5 рабочих экземпляров celery, т.е: attach-daemon = %(home)/bin/celery --app=djangoProject.worker.app worker -c 5 -l INFO
Недавно мы добавили некоторые функциональные возможности, которые увеличивают скорость обновления в некоторых обстоятельствах, и обнаружили, что мы обычно не получаем ошибки UnexpectedFrame из библиотеки amgqp:
amqp.exceptions.UnexpectedFrame: Получено 0x00 при ожидании 0xce
Мы подозреваем, что это какая-то проблема типа потокообразования, но ищем любой совет, как решить эту проблему.
Ищу любой совет о том, как преодолеть подобную проблему, или хотя бы дополнительно диагностировать, где кроется неисправность.