windows 环境下django中celery配置定时任务

第一步:安装celery

pip install celery==4.4.2

第二步: 在settings.py同级目录中新建celery.py

from __future__ import absolute_import, unicode_literals

import os

from celery import Celery # 设置环境变量 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'RepairPlatformProject.settings') # 注册Celery的APP

app = Celery('clock', include=['clock.tasks']) # 绑定配置文件 app.config_from_object('django.conf:settings', namespace='CELERY') # 自动发现各个app下的tasks.py文件

app.autodiscover_tasks()

第三步:在app中添加tasks.py

from celery.task import task
@task
def print_tet():
    print('hell world')
    return 'ok'

第四步:在settings.py同级目录下__init__.py添加

import pymysql
from .celery import app as celery_app
pymysql.install_as_MySQLdb()

__all__ = ['celery_app']

第五步: 在settings.py中添加配置

CELERY_BROKER_URL = 'redis://127.0.0.1:6379/10'
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/10'
CELERY_RESULT_SERIALIZER = 'json'

CELERY_BEAT_SCHEDULE = {
    # 周期性任务
    'task-two': {
        'task': 'clock.tasks.print_tet',
        'schedule': 5.0, # 每5秒执行一次
    }
}

第六步:执行

celery worker -A RepairPlatformProject --loglevel=info --pool=solo

celery beat -A RepairPlatformProject --pidfile=

你可能感兴趣的:(windows,django,python)