django配置文件环境分离后celery的启动方式整理

django项目中,当配置文件分离时:

启动方式1:

硬编码写死在manage.py中:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dbmanager.settings.test")

方式2:

命令行启动时,指定对应环境:(会覆盖manage.py中的配置)

python manage.py runserver --settings=dbmanager.settings.production 0.0.0.0:8000

celery启动:




version: '2'
services:
  redis-local:
    image: harbor.asd.com/yw/dbm-redis:v_test_master_20190507.072141
    ports:
      - "6379:6379"
    volumes:
      - /etc/localtime:/etc/localtime:ro

  dbmanager:
    container_name: dbmanager-service
    image: harbor.asd.com/yw/dbmanager:v_pro_master_20190518.170636
    working_dir: /usr/src/app/dbmanager
    command:
      - /bin/sh
      - -c
      - |
        python manage.py crontab add
        crond
        python manage.py runserver --settings=dbmanager.settings.production 0.0.0.0:8000
    ports:
      - "8000:8000"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /data/usr/src/app/dbmanager/log:/usr/src/app/dbmanager/log:rw
    depends_on:
      - redis-local

  celery-beat:
    container_name: celery-beat
    image: harbor.asd.com/yw/dbmanager:v_pro_master_20190518.170636
    working_dir: /usr/src/app/dbmanager
    command: python manage.py celery -A dbmanager beat -l info   # 需要在manage.py文件中指定os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dbmanager.settings.test") 配置环境,celery启动就可以找到对应环境启动,无需命令行指定配置文件环境
    volumes:
      - /etc/localtime:/etc/localtime:ro
    depends_on:
      - redis-local

  celery-worker:
    container_name: celery-worker
    image: harbor.asd.com/yw/dbmanager:v_pro_master_20190518.170636
    working_dir: /usr/src/app/dbmanager
    command: python manage.py celery -A dbmanager worker -l info
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /data/usr/src/app/dbmanager/slowlogs:/data/slowlogs:rw
    depends_on:
      - redis-local

  celery-flower:
    container_name: celery-flower
    image: harbor.asd.com/yw/dbmanager:v_pro_master_20190518.170636
    working_dir: /usr/src/app/dbmanager

猜你喜欢

转载自www.cnblogs.com/yum777/p/10896131.html