[英]Create class based Celery task for reusable app in Django project
[英]How to keep each celery class based task in separate file in django project?
我在django項目中已使用以下網站的官方文檔設置了celery
http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html#using-celery-with-django
所以我的項目結構是
└── mysite
├── db.sqlite3
├── manage.py
├── mysite
│ ├── celery.py
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── polls
├── admin.py
├── apps.py
├── forms.py
├── __init__.py
├── migrations
│ ├── 0001_initial.py
│ └── __init__.py
├── models.py
├── tasks.py
├── tests.py
└── views.py
polls
是應用
polls/tasks.py
具有基於類的celery任務。
當前tasks.py
有很多任務,因此文件太大。 我想將每個任務保存在單獨的文件中,例如
mysite/polls/
├── admin.py
├── apps.py
├── forms.py
├── __init__.py
├── migrations
│ ├── 0001_initial.py
│ └── __init__.py
├── models.py
├── tasks # I want to keep easy task in separate file like this
│ ├── __init__.py
│ ├── download_task.py
│ ├── process_task.py
│ └── upload_task.py
├── tests.py
└── views.py
如何使該設置正常工作?
那是100%正確的。 在您的tasks/__init__.py
文件中,確保從其他文件導入任務:
from .download_task import *
from .process_task import *
# etc...
然后確保您在celery.py文件中具有autodiscover_tasks
調用,以發現每個INSTALLED_APPS
的任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.