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
新建一個(gè)app
里面新建一個(gè)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
啟動(dòng)rabbitmq-server
關(guān)閉rabbitmq-server -detached
查看狀態(tài)rabbitmqctl status
運(yùn)行celery
python manage.py celery worker --loglevel=info
或者后臺(tái)運(yùn)行celery
$ nohup django-admin.py celeryd worker -B --loglevel=info --settings=settings --pythonpath=. &
celery運(yùn)行定時(shí)任務(wù)
python manage.py celery beat
查看celery是否正常運(yùn)行
$ ps aux | grep celery
關(guān)閉celery
ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9
?
進(jìn)入Django的admin后臺(tái),進(jìn)入Djcelery欄目,一共有四個(gè)選項(xiàng):
- Crontabs
在此選項(xiàng)中,可以創(chuàng)建定時(shí)執(zhí)行的任務(wù)需要的定時(shí)時(shí)間。
- Intervals
在此選項(xiàng)中,可以創(chuàng)建間隔執(zhí)行的任務(wù)需要時(shí)間間隔。
- Periodic tasks
在此選項(xiàng)中,創(chuàng)建一個(gè)相應(yīng)的任務(wù),選擇任務(wù),需要定時(shí)執(zhí)行的時(shí)間或者時(shí)間間隔,并保存。
當(dāng)然,還有其他一些高級(jí)的選項(xiàng),可以嘗試使用。
-
Tasks
-
Workers
到此,一個(gè)任務(wù)便創(chuàng)建成功了。不出意外,創(chuàng)建的任務(wù)會(huì)如期執(zhí)行,當(dāng)然,如果創(chuàng)建的沒有 如期執(zhí)行的,應(yīng)該依次檢查前面的步驟,查看celery是否在運(yùn)行,創(chuàng)建的task是否報(bào)錯(cuò)等等, 一級(jí)一級(jí)排除錯(cuò)誤。
?
轉(zhuǎn)載于:https://www.cnblogs.com/tuifeideyouran/p/4191511.html
總結(jié)
以上是生活随笔為你收集整理的django-celery的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PLSQL安装教程,无需oracle客户
- 下一篇: tomcat Connector 连接器