@adrenalinruslan

Как сохранить не завершенные задачи celery?

Здравствуйте, у меня есть Django проект и я добавил отложенные задачи. Все ожидающие/завершенные задачи выводятся через flower (127.0.0.1:5555), все окей, но если остановить докер и запустить обратно, все задачи пропадают, можно ли как то сохранять их ? Просто может быть такая ситуация, что есть ожидающие задачи, а докер упал и обратно запустился и получается задач уже нет.

version: '3'

services:
  redis:
    image: redis
    restart: always
    volumes:
      - redis:/data
    ports:
      - "6379:6379"

  db:
    image: mysql:5.7
    restart: always
    ports:
      - "3306:3306"
    volumes:
      - database:/var/lib/mysql
    env_file:
      - ./backend/.env
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

  web:
    build: ./backend/
    restart: always
    command: gunicorn config.wsgi:application --bind 0.0.0.0:8000
    volumes:
      - static:/Project/static/
      - media:/Project/media/
    depends_on:
      - db
      - redis

  celery:
    build: ./backend/
    restart: always
    command: celery -A config worker -l info
    depends_on:
      - web

  flower:
    build: ./backend/
    restart: always
    command: celery -A config flower --loglevel=info --url_prefix=cron
    ports:
      - "5555:5555"
    depends_on:
      - celery

  nginx:
    image: nginx:1.19.3
    restart: always
    ports:
      - "80:80"
    volumes:
      - ./nginx/default.dev.conf:/etc/nginx/conf.d/default.conf
      - static:/var/html/static/
      - media:/var/html/media/
    depends_on:
      - flower

volumes:
  redis:
  database:
  static:
  media:
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov
Системный администратор
Отсутствует volume для перманентного хранения данных celery.
Добавь его вот так же, как ты это сделал с redis или MySQL.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы