参考文献python
要求python django
django 服务器
django-celery
异步
celery
spa
实现code
setting.py:
server
import djcelery djcelery.setup_loader() BROKER_URL = 'django://' ... INSTALLED_APPS = ( ... 'djcelery', 'kombu.transport.django', ... ) # 如下的事为了定时任务使用 from datetime import timedelta CELERYBEAT_SCHEDULE = { 'add-every-1-minutes': { 'task': 'core.tasks.crowd_engine', 'schedule': timedelta(minutes=1), }, }
tasks.pyblog
from celery import task @task() def add(x, y): return x + y
启动 先启动项目: python manage.py runserver(实践证实 不启动也是没有干系的 应为是单独的服务器嘛)get
在启动worker :(异步任务使用)同步
export C_FORCE_ROOT="true"(先执行这步,在去启动worker)
python manage.py celery worker --loglevel=info
在启动按期任务:(按期任务是 定时给worker分配任务,因此说按期任务是要在启动异步任务的前提下才能使用)
python manage.py celery beat
总结:
celery 和Django的信号的区别
celery的异步的,信号是同步的