django+celery專案結構
-project_namecelery.py- __init__
.py -admin.py
-views.py
-modes.py
- tasks.py
#celery用來執行任務的檔案,task裡的任務由views函式裡去觸發
-urls.py
-views.py
-project_name
- __init__
.py #初始化celery
- celery.py
#celery 定義例項
-settings.py #用來配置redis或rabbitmq位址
-urls.py
-views.py
-wsgi.py
-templates
-static
-manager.py
- db.sqlite3
from__future__
import
absolute_import, unicode_literals
import
osfrom celery import
celery
#set the default django settings module for the 'celery' program.
os.environ.setdefault(
'django_settings_module
', '
project_name.settings
') #這裡要寫專案名稱
project_name')
'django.conf:settings
', namespace='
celery
') #這裡配置settings裡與celery相關配置的字首
from django_celery import tasks #引入task
from celery.result import asyncresult
def啟動workertest_celery(request):
#這裡用來觸發tasks裡的任務
res =tasks.cmd_run.delay(
"ipconfig",)#
(res.get) #如果在此處直接get會變成同步
return httpresponse(res.task_id) #獲取taskid
#獲取任務執行狀態返回給前端
]
celery -a wecaht worker -l info -p eventlet
pip3 install django-celery-登入後台beat
##settings.py 裡註冊 django
-celery-
beat
'django_celery_beat',
]python manage.py migrate
d:\django
-project\wechat>
python manage.py migrate
operations to perform:
running migrations:
rendering model states... done
啟動celery beat
celery -a project_name beat -l info -s django每新增或修改乙個任務,celery beat都需要重啟一次,要不然新的配置不會被celery beat程序讀到
flask 工廠模式與celery結合
簡單介紹一下celery celery 是乙個非同步任務佇列。你可以使用它在你的應用上下文之外執行任務。總的想法就是你的應用程式可能需要執行任何消耗資源的任務都可以交給任務佇列,讓你的應用程式自由和快速地響應客戶端請求。官方文件 中文文件 flask 中使用 celery 別人寫的,大家可以參考著來...
django中使用celery 一
建立django專案celery demo,建立應用demo 在celery demo模組中建立celery.py模組,檔案目錄為 celery.py模組內容為 from celery import celery from django.conf import settings import os ...
celery實測之Django呼叫
1 新建並配置乙個celery檔案,需同setting在同一級。from celery import celery from django.conf import settings import os 為celery設定環境變數 os.environ.setdefault django settin...