Как запустить команду Django manage.py (Django-background-tasks) после запуска в Docker? - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть проект Django, который я использую Docker и планирую развернуть в AWS Elastic Beanstalk.Исходя из этих требований, мне нужно запустить команду manage.py (а именно, «process_tasks» из django-background-tasks) без участия человека.

Если мое понимание верно, «process_tasks» необходимо запустить, иначезадачи не будут выполнены в запланированное время.

Я предложил следующее решение для добавления в свой docker-compose.yml.Проблема в том, что я вызываю фоновую задачу в URL-адресе при запуске сервера, и каким-то образом это решение приводит к добавлению задачи в базу данных дважды.Моя цель - выполнять фоновое задание каждый день в определенное время.Есть ли более простое решение, которое мне не хватает?

  web:
    build: .
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

  tasks:
    build: .
    command: python3 manage.py process_tasks
    volumes:
      - .:/code
    depends_on:
      - web
      - db 

1 Ответ

0 голосов
/ 20 декабря 2018
web:
 build:
    context:./containerfolder


volumes:
  - .:/code
ports:
  - "8000:8000"
depends_on:
  - db

в вашем файле докера контейнера напишите ваши команды, такие как python3 manage.py runserver и python3 manage.py process_tasks

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...