12345678910111213141516171819202122232425262728293031323334353637 |
- # @Author : Rocky
- # @File : celery.py
- # @Time : 2024/3/12 14:13
- # @Author : Rocky
- # @File : celery.py
- # @Time : 2024/3/12 11:52
- import os
- from django.utils import timezone
- from celery import Celery
- # 从环境变量中获取Django环境,
- # win:set DJANGO_ENV=local
- # linux: export DJANGO_ENV=local,或vim ~/.bashrc设置环境变量
- django_env = os.environ.get('DJANGO_ENV')
- if django_env == 'local':
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'Ansjer.local_config.local_settings')
- elif django_env == 'test':
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'Ansjer.cn_config.test_settings')
- elif django_env == 'cn':
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'Ansjer.cn_config.formal_settings')
- elif django_env == 'us':
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'Ansjer.us_config.formal_settings')
- elif django_env == 'eu':
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'Ansjer.eur_config.formal_settings')
- app = Celery('apps')
- # 使用Django的settings文件配置Celery
- app.config_from_object('django.conf:settings', namespace='CELERY')
- # 自动从django注册的app中发现所有任务
- app.autodiscover_tasks()
- # 解决时区问题,定时任务启动就循环输出
- app.now = timezone.now
|