范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Dockercompose封装celery4。1rabbitmq3。7服务,实现微服务架构

  大家都知道,Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,在之前的一篇文章中:python3.7+Tornado5.1.1+Celery3.1+Rabbitmq3.7.16实现异步队列任务 详细阐述了如何进行安装部署和使用,但是过程太繁琐了,先得安装Erlang,再安装rabbitmq,然后各种配置,最后由于async关键字问题还得去修改三方库的源码,其实我们可以通过docker来将celery服务封装成镜像,如此一来,以后再使用celery或者别的系统依赖celery,我们只需要将该镜像以容器的形式跑服务即可,不需要繁琐的配置与安装。
  首先新建celery_with_docker文件夹,cd celery_with_docker
  建立dockerfile文件 FROM python LABEL author="liuyue" LABEL purpose = ""   RUN apt update RUN pip3 install setuptools  ENV PYTHONIOENCODING=utf-8  # Build folder RUN mkdir -p /deploy/app WORKDIR /deploy/app #only copy requirements.txt.  othors will be mounted by -v #COPY app/requirements.txt /deploy/app/requirements.txt #RUN pip3 install -r /deploy/app/requirements.txt RUN pip3 install celery  # run sh. Start processes in docker-compose.yml #CMD ["/usr/bin/supervisord"] CMD ["/bin/bash"]
  意思是基础镜像我们使用python,然后安装celery
  然后新建docker-compose.yml # Use postgres/example user/password credentials version: "3.4"  services:     myrabbit:         #restart: always         #build: rabbitmq/         image: rabbitmq:3-management         # hostname: rabbit-taiga         environment:             RABBITMQ_ERLANG_COOKIE: SWQOKODSQALRPCLNMEQG             # RABBITMQ_DEFAULT_USER: "guest"             # RABBITMQ_DEFAULT_PASS: "guest"             # RABBITMQ_DEFAULT_VHOST: "/"             # RABBITMQ_NODENAME: taiga             RABBITMQ_DEFAULT_USER: liuyue             RABBITMQ_DEFAULT_PASS: liuyue         ports:             - "15672:15672"             # - "5672:5672"          api:         #restart: always         stdin_open: true         tty: true         build: ./         image: celery-with-docker-compose:latest         volumes:             - ./app:/deploy/app         ports:             - "80:80"         command: ["/bin/bash"]      celeryworker:         image: celery-with-docker-compose:latest         volumes:             - ./app:/deploy/app         command: ["celery", "-A", "tasks", "worker", "-c", "4", "--loglevel", "info"]         depends_on:             - myrabbit
  这个配置文件的作用是,单独拉取rabbitmq镜像,启动rabbitmq服务,用户名和密码为:liuyue:liuyue然后在镜像内新建一个celery工程,目录放在/deploy/app,随后通过挂载文件夹的方式将宿主的app目录映射到/deploy/app,最后启动celery服务
  最后,我们只需要在宿主机建立一个app文件夹,新建一些任务脚本即可
  新建tasks.py from celery import Celery  SERVICE_NAME = "myrabbit"  app = Celery(backend = "rpc://", broker = "amqp://liuyue:liuyue@{0}:5672/".format(SERVICE_NAME))   @app.task def add(x, y):     print(123123)     return x + y
  新建任务调用文件test.py
  import time from tasks import add # celery -A tasks worker -c 4 --loglevel=info   t1 = time.time() result = add.delay(1, 2) print(result.get())   print(time.time() - t1)
  最后项目的目录结构是这样的
  随后在项目根目录执行命令:docker-compose up --force-recreate
  此时celery和rabbitmq服务已经启动
  进入浏览器 http://localhost:15672 用账号登录 liuyue:liuyue
  没有问题,此时我们进入容器内部 docker exec -i -t celery-with-docker-compose-master_api_1 /bin/bash
  可以看到,容器内已经通过挂载将宿主机的app文件夹共享了进来
  随后我们执行异步任务:python3 test.py
  可以看到执行成功了
  由此可知,在宿主机,什么环境都不需要配置,只需要安装一个docker即可,异步任务队列的搭建和执行全部在docker的内部容器内,完全隔绝,只是具体的代码和脚本通过docker的挂载命令来在宿主机编写,也就是研发人员只需要在宿主机专注编写代码,而不需要管配置和部署的问题。
  最后,附上项目的完整代码:https://gitee.com/QiHanXiBei/celery-with-docker-composer

雷朋智能眼镜终于变得有点智能Facebook让它的智能眼镜终于做了一些聪明的事情。首席执行官马克扎克伯格(MarkZuckerberg)周三在Facebook上发帖称,去年首次亮相的RayBanStories准绝杀!六分钟连砍15分!他们两个拯救了中国队亚洲杯首战输给韩国,一大批球员生病发烧,此刻的中国男篮,已经到了最困难的时刻。尽管周琦紧急与球队会合,但还没痊愈的他并没有出战昨晚与巴林的比赛。一方面是为了他的身体考虑,一方面也是雷朋智能眼镜终于变得有点智能Facebook让它的智能眼镜终于做了一些聪明的事情。首席执行官马克扎克伯格(MarkZuckerberg)周三在Facebook上发帖称,去年首次亮相的RayBanStories准绝杀!六分钟连砍15分!他们两个拯救了中国队亚洲杯首战输给韩国,一大批球员生病发烧,此刻的中国男篮,已经到了最困难的时刻。尽管周琦紧急与球队会合,但还没痊愈的他并没有出战昨晚与巴林的比赛。一方面是为了他的身体考虑,一方面也是sanag塞那X6S渐色音箱和王心凌,您心目中的女神夏至已至,这个夏天注定不一样的。2022年7月13日,在湖南卫视OMG玩美咖的节目上,王心凌向大家隆重推介sanag塞那X6S渐变色蓝牙音箱。sanag塞那X6S渐变色蓝牙音箱的出人品越差的人,越喜欢把这3句话挂在嘴边,最好别深交一个人的修养,体现在行动里一个人的人品,体现在言语里。其实了解一个人,从生活中的点点滴滴,我们就能明白所有。有些人说话及其负责,不会信口开河有些人说话没有根据,总是随便胡诌。信错了在中缅边境,经常有缅甸女孩偷偷跨墙来中国,从事的行业令人心疼不知道你去缅甸旅游,有没有发现一个现象,一些缅甸女孩会在早上的时候偷偷越过边境线到中国来,这到底是为什么呢?(此处已添加小程序,请到今日头条客户端查看)缅甸虽然近些年经济状况有所好分享一组喜欢的照片哈喽哈喽旅拍菌喊你来看杂志大片啦!张婧仪为杂志LOHAS乐活拍摄的封面大片真的太太太好看了盛夏午后阳光明媚少女在庭院里随风随光而动时而宁静时而充满活力如同夏日一般热情美好夏日氧气大心脏最喜欢的十大饮食习惯,权威指南告诉您如何吃出健康心脏随着生活水平的提高,大鱼大肉的现象多了起来。生活压力大,胡乱填饱肚子,对我们的身体造成了很多不好的影响。不健康的饮食可以增加心血管疾病的发病率和死亡率,也是引起动脉硬化心绞痛等心脑sanag塞那X6S渐色音箱和王心凌,您心目中的女神夏至已至,这个夏天注定不一样的。2022年7月13日,在湖南卫视OMG玩美咖的节目上,王心凌向大家隆重推介sanag塞那X6S渐变色蓝牙音箱。sanag塞那X6S渐变色蓝牙音箱的出人品越差的人,越喜欢把这3句话挂在嘴边,最好别深交一个人的修养,体现在行动里一个人的人品,体现在言语里。其实了解一个人,从生活中的点点滴滴,我们就能明白所有。有些人说话及其负责,不会信口开河有些人说话没有根据,总是随便胡诌。信错了
这婚算是离对了!佟丽娅机场造型好酷,墨镜吊带黑指甲冷艳感绝了不得不说,有些女明星离婚以后,仿佛打开了任督二脉,不仅精神气质提上来了,就连衣品也是蹭蹭直涨,果然女人只有取悦自己才能活出精彩感。说到这,不禁被佟丽娅这次的造型美到了,这还是那个腼2006年,爆火全国的后舍男生,现状如何?2006年,两人男生在宿舍里翻唱了后街男孩的aslongasyouloveme,这两个男孩,一高一矮,一壮一瘦,表情夸张且丰富,口型还严丝合缝,如同双簧一般,这段视频在平台上迅速走霍思燕近照被曝身材臃肿,网友释怀当了妈妈以后大家都一样我是一个全职妈妈,一个不断实现自我价值的全职妈妈。拒绝焦虑,拒绝内卷,轻松育儿,理性对待婚姻生活,宽容应对婆媳关系,希望我的一些观点能够让你豁然开朗,能够带给你正能量,解决你的现实文章带两女儿现身机场,浑身名牌状态佳,前不久还现身马伊琍小区近日,有网友在社交平台上晒出一组在机场偶遇文章的照片。他戴着帽子和黑色口罩,身着灰色外套搭配休闲裤,十分低调,唯一亮眼的便是手上的黑黄格子包。跟在文章身后的便是文章的两个女儿,大女胡可一家四口同框,穿休闲裤妈妈肚抢镜,两儿子穿国货真时髦胡可和沙溢夫妻俩儿在明星当中算是比较低调的了,特别是胡可有空就要演绎,带带娃,逛逛综艺,野心不大人也温柔,妥妥的上得厅堂下得厨房,不得不说沙溢还真是娶了个宝藏老婆,两个儿子也是非常中日教练的差别前几天满怀激动和希望的看完了亚洲杯中日女篮决赛,心中非常悲愤,不解,有太多的话要说。我们战术单一缺乏应变能力,防守对方核心得分手效果很差。防守日本两个黑人选手也防的很差,还有我们遇代号山豹赵文忠真忙一边保护金藏,一边周旋于5方势力代号山豹虽然人物长得不够帅气,但是重在剧情比较有意思,这部剧像一部大男主剧,赵文忠一个人撑起了一部剧。赵文忠的身份赵文忠表面上是为日本效命的治安团副团长,天天带着一群中国人,为日本小沈阳的清醒,让多少喜剧人汗颜,他读懂了赵本山的无奈我放弃小品了,现在的形式不喜欢。因小品红极一时的小沈阳沉寂多年后,再次出现在观众面前时,却说了一番如此奇怪的话。他说现在的小品太套路,全是喜头悲尾。小沈阳的话虽然简单,却直击人心。78岁焦姣罕见出镜,短发清爽气质优雅,与87岁老公曾江同框像父女说到焦姣这位女演员,相信很多人对她也是非常熟悉了,虽然她早就淡出了令人羡慕的娱乐圈,可是她饰演的一些影视剧至今看起来还是那么好看,尤其是她饰演的独臂刀窃听风云2给观众和粉丝留下了深63岁苗侨伟,2021年只拍了一部剧,就爆火了三哥苗侨伟真的越老越有范儿!自从2004年复出拍戏以来,演过的角色和射雕英雄传时期的杨康,简直就是天差地别,完全不敢相信是同一个人。年轻时候的苗侨伟也是一个小鲜肉,演过的影视剧角色良心剧天下长安为何还不播出?老戏骨云集,却很难播出有人偏爱甜美的校园偶像剧,有人喜欢激烈的谍战片,也有人爱看疑点重重的悬疑剧,不同的人有不同的喜好。于部分人来讲,历史剧才是真爱。从秦始皇到大明王朝,从孝庄秘史到康熙秘史,每一部都没