instantclient安装_分布式任务调度Celery,(一)安装和代码开发使用示例

今天开始,我将以三个篇幅,介绍分布式任务调度系统Celery的详细使用。包括安装,开发使用,并且配合supervisor,flower等工具进行系统化部署和使用。希望能帮助到需要的朋友们,图文创作不易,欢迎关注。

一,简介

Celery是一个分布式任务调度系统,简单、灵活、可靠,是一个处理大量消息的分布式系统。专注于实时处理的异步任务队列,同时也支持任务调度。

d9848349259a1db95d4e3791812b395b.png

Celery的架构由三部分组成:

AMQP broker:即消息中间件,Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成。包括,RabbitMQ, Redis等。

celery workers:即任务执行单元,是Celery提供的任务执行的单元,worker并发的运行在分布式的系统节点中。

task result store:即任务执行结果存储,用来存储Worker执行的任务的结果,Celery支持以不同方式存储任务的结果,包括AMQP, redis等。

二,Celery安装

2.1 安装celery相关包

pip3 install eventlet

pip3 install celery

pip3 install pymongo

pip3 install flower

06303e77eb356ca1fed1195edbb548ea.png

2.2 配置环境变量

e6908e01e46fb7c6bd2bdd81311cf0f4.png

export PATH=/usr/local/python3/bin:$PATH

echo "PATH=/usr/local/python3/bin:$PATH" >> /etc/profile.d/python3.sh

cd /etc/profile.d/

chmod 777 python3.sh

2.3 oracle环境变量配置

如果用到oracle数据库,需要增加oracle环境变量配置信息到python3.sh

cat /etc/profile 查看oracle环境变量配置

export PATH=/opt/oracle/instantclient_11_2:$PATH

echo "PATH=/opt/oracle/instantclient_11_2:$PATH" >> /etc/profile.d/python3.sh

cd /etc/profile.d/

chmod 777 python3.sh

# locate libclntsh.so.11.1

/opt/oracle/instantclient_11_2/libclntsh.so.11.1

# vim /etc/ld.so.conf

在最后一行添加如下内容:

/opt/oracle/instantclient_11_2

执行ldconfig

# ldconfig

dd006696c5159f675a6998d71be90467.png

三,Celery使用

3.1 celery --help

c9126fc544aa5b7745c3a0fd40d0079b.png

3.2 celery work --help

ab040edcb73b0d275fa7860b118f27ca.png

3.3 应用实例代码结构

5456a9f4a6812ada210767653d311c4d.png

3.4 运行后rabbitmq中内容

479aadd780579a252eb4f98255d34425.png
d163a8cf55a3af496c301a304166dd10.png

3.5 启动worker命令

04ed820f90c87eca845c4dd6f81d200f.png

本文由挨踢程序猿原创,欢迎关注,带你一起长知识!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值