Celery / Celery beat застрял на старой версии скрипта

У меня есть приложение django, работающее на AWS EC2 и использующее Celery для периодических обновлений. Недавно мне пришлось обновить сценарий обработки данных в приложении Django, но что бы я ни пытался сделать, Celery продолжает использовать старые копии сценария обработки.

Вот краткая информация:

  • С 12 апреля изменился способ публикации данных. Поэтому старый процессор перестал работать с любыми данными после 12 апреля.
  • Я изменил скрипт, чтобы он работал со всеми данными до и после 12 апреля, и объединил изменения в продакшн.
  • GitHub Actions успешно запустился, построил контейнеры и развернул их на EC2.
  • Если я войду в экземпляр EC2 и войду в контейнер, я могу запустить команду manage.py update_nameofmydatamodel, и она выполняется правильно и обновляет все данные должным образом (я могу сказать, потому что это кормит веб-сайт viz, который затем правильно обновляется)
  • .
  • Когда Celery Beat запускается на ночь, данные возвращаются к обработке ТОЛЬКО до 12 апреля (я могу сказать, потому что я захожу на сайт viz и он возвращается к обработке данных только до 12 апреля)
  • .
  • Я удалил модель данных из списка моделей для обновления через Celery Beat, пока не выяснил, откуда исходит проблема. Но... обновление все равно запускается!

Вот все, что я пробовал:

  • Celery использует кэш redis:alpine, я попробовал очистить кэш с помощью FLUSHALL и FLUSH SCRIPTS
  • .
  • Я запустил celery -A projectName purge и получил сообщение, что 0 сообщений было удалено из очереди
  • .
  • Я полностью удалил контейнеры celery, celery beat и redis, а затем снова вывел последние версии на EC2
  • .
  • Я остановил все контейнеры и перезапустил их (web, nginx, celery, beat, redis); я подтвердил, что после остановки контейнеров все процессы celery также были остановлены
  • .
  • Я полностью остановил экземпляр EC2 и перезапустил его

Что я упускаю в плане того, где celery может кэшировать скрипты или где может быть запущен зомби-процесс? Я ни в коем случае не эксперт по Django и унаследовал развертывание этого проекта, так что я надеюсь, что я просто упускаю что-то очевидное на данный момент.

Заранее спасибо за любые идеи.

Вернуться на верх