django celery

参考文献

要求python 

     django 

     django-celery

     celery

实现

setting.py:

    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.py

    from celery import task    @task()
    def add(x, y):
        return x + y

启动  先启动项目: python manage.py runserver(实践证明 不启动也是没有干系的 应为是单独的服务器嘛)

        在启动worker :(异步任务使用)

export C_FORCE_ROOT="true"(先执行这步,在去启动worker)

python manage.py celery worker --loglevel=info

在启动定期任务:(定期任务是 定时给worker分配任务,所以说定期任务是要在启动异步任务的前提下才能使用)

python manage.py celery beat

总结:

celery 和Django的信号的区别

celery的异步的,信号是同步的


你可能感兴趣的:(django celery)