怎么能不恨呢,在我发现自己是恶鬼的时候,在我最绝望最虚弱的时候,这个世上最该跟我在一起的人却用刀把我的心刺穿了
Celery 是 Distributed Task Queue,分布式任务队列。分布式决定了可以有多个 worker 的存在,队列表示其是异步操作。它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行。我们通常使用它来实现异步任务(async task)和定时任务(crontab)。
安装
Celery4.x 开始不再支持Windows平台了。下面装的是3.1.25。
安装使用命令
pip3 install celery==3.1.25
查看是否安装成功,使用命令即可:
celery --version
如果在win10下想要使用celery4.x的话,可以这么做:
pip3 install eventlet
运行worker的时候加上一个参数:
celery -A xxxx worker -l info -P eventlet
然后安装redis(个人比较喜欢redis)
首先下载安装redis windowns服务端
解压后,在其目录下执行命令
redis-server.exe
即可启动redis数据库
然后安装python连接操作redis的库
pip3 install redis==2.10.6
注意版本号
核心主件
celery通过五大模块实现
Task
就是任务,有异步任务和定时任务
Broker
中间人,接收生产者发来的消息即Task,将任务存入队列。任务的消费者是Worker。Celery本身不提供队列服务,推荐用Redis或RabbitMQ实现队列服务。
Worker
执行任务的单元,它实时监控消息队列,如果有任务就获取任务并执行它。
Beat
定时任务调度器,根据配置定时将任务发送给Broler。
Backend
用于存储任务的执行结果。
组成关系
各个角色间的关系看下面这张图理解一下:
初次使用
首先编写一个文件 命名为task1.py