不使用配置文件
from __future__ import absolute_import
from celery import Celery
from datetime import timedelta
from celery.schedules import crontab
from kombu import Queue
app = Celery('test_app', include=['celery_test.test_task'])
app.conf.task_queues = (
Queue('task_1',routing_key="task_1"),
Queue('task_2',routing_key="task_2")
)
app.conf.beat_schedule = {
'crontab_task_1': {
'task': 'celery_test.test_task.foo',
'schedule': timedelta(seconds=10),
'options': {'queue':'task_1'}
},
}
app.conf.task_routes = {
'celery_test.test_task.bar': {'queue': 'task_2', 'routing_key':'task_2'},
}
from __future__ import absolute_import
from .celery import app
import time
@app.task
def foo():
time.sleep(5)
return "hello world"
@app.task
def bar():
time.sleep(5)
return "hi world"
使用配置文件
from __future__ import absolute_import
from celery import Celery
from datetime import timedelta
from celery.schedules import crontab
app = Celery('test_app', include= ['celery_test.test_task'])
app.config_from_object('celery_test.config')
from kombu import Exchange, Queue
from datetime import timedelta
CELERY_QUEUES = (
Queue("for_task_A", Exchange("for_task_A"), routing_key="task_a"),
Queue("for_task_B", Exchange("for_task_B"), routing_key="task_a")
)
CELERYBEAT_SCHEDULE = {
'crontab_task_1': {
'task': 'celery_test.test_task.foo',
'schedule': timedelta(seconds=5),
'options': {'queue':'for_task_A'}
},
}
CELERY_ROUTES = {
'celery_test.test_task.bar':{"queue":"for_task_B","routing_key":"task_b"}
}
from __future__ import absolute_import
from .celery import app
import time
@app.task
def foo():
time.sleep(5)
return "hello world"
@app.task
def bar():
time.sleep(5)
return "hi world"
特殊说明
![这里写图片描述](https://img-blog.csdn.net/20171203194420342?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUXVhbnR1bUVuZXJneQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![这里写图片描述](https://img-blog.csdn.net/20171203194433599?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUXVhbnR1bUVuZXJneQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![这里写图片描述](https://img-blog.csdn.net/20171203194501294?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUXVhbnR1bUVuZXJneQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)