celery.py 1.2 KB

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