使用Celery实现定时任务功能
使用Celery实现定时任务功能 前言 Python实现定时任务的方式有很多,如使用Celery、schedule模块、Threading模块中的Timer、sched模块、定时框架APScheduler,都各有特色。在多次对比之后,我决定使用Celery,下面我们介绍一下如何使用Celery。 结构图 下发命令 转发命令 存储执行结果 beat-任务调度器 broker-MQ worker-执行任务单元 backend-MQ或数据库 1.准备环境 首先安装Celery pip install django pip install celery pip install django_celery_beat pip install mysqlclient 安装rabbitmq(可以使用redis代替) brew install rabbitmq 安装完成之后启动服务 brew services start rabbitmq 2.创建项目 初始化项目 django-admin startproject pystudy 修改django配置 # 集成django_celery_beat INSTALLED_APPS = [ . . . , 'django_celery_beat' ] # 修改默认时区以及语言 LANGUAGE_CODE = 'zh-hans' TIME_ZONE =