django-celery
在settings.py里installed_apps里添加 djcelery
需安裝django-celery
在settings末端添加
import djcelery djcelery.setup_loader()BROKER_URL = 'amqp://guest:guest@localhost:5672//'CELERY_RESULT_BACKEND = 'amqp://guest:guest@localhost:5672//' CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_IMPORTS = ('hello.tasks', ) CELERY_TIMEZONE = TIME_ZONE CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler' CELERY_ALWAYS_EAGER = True
新建一個app
里面新建一個tasks.py
from celery import task@task def add(x, y):return x+y@task def prints():print 'xiao'需安裝
sudo apt-get install rabbitmq-server
啟動rabbitmq-server
關閉rabbitmq-server -detached
查看狀態rabbitmqctl status
運行celery
python manage.py celery worker --loglevel=info
或者后臺運行celery
$ nohup django-admin.py celeryd worker -B --loglevel=info --settings=settings --pythonpath=. &
celery運行定時任務
python manage.py celery beat
查看celery是否正常運行
$ ps aux | grep celery
關閉celery
ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9
?
進入Django的admin后臺,進入Djcelery欄目,一共有四個選項:
- Crontabs
在此選項中,可以創建定時執行的任務需要的定時時間。
- Intervals
在此選項中,可以創建間隔執行的任務需要時間間隔。
- Periodic tasks
在此選項中,創建一個相應的任務,選擇任務,需要定時執行的時間或者時間間隔,并保存。
當然,還有其他一些高級的選項,可以嘗試使用。
-
Tasks
-
Workers
到此,一個任務便創建成功了。不出意外,創建的任務會如期執行,當然,如果創建的沒有 如期執行的,應該依次檢查前面的步驟,查看celery是否在運行,創建的task是否報錯等等, 一級一級排除錯誤。
?
轉載于:https://www.cnblogs.com/tuifeideyouran/p/4191511.html
總結
以上是生活随笔為你收集整理的django-celery的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PLSQL安装教程,无需oracle客户
- 下一篇: tomcat Connector 连接器