#RUNpip3 install-r/deploy/app/requirements.txtRUNpip3 install celery # run sh.Start processesindocker-compose.yml #CMD["/usr/bin/supervisord"]CMD["/bin/bash"] 意思是基础镜像我们使用python,然后安装celery 然后新建docker-compose.yml 代码语言:javascript 复制 # Use postgres/example user/password cr...
然后新建docker-compose.yml # Use postgres/example user/password credentialsversion:'3.4'services:myrabbit:#restart: always#build: rabbitmq/image:rabbitmq:3-management# hostname: rabbit-taigaenvironment:RABBITMQ_ERLANG_COOKIE:SWQOKODSQALRPCLNMEQG# RABBITMQ_DEFAULT_USER: "guest"# RABBITMQ_DEFAULT_PA...
然后新建docker-compose.yml # Use postgres/example user/password credentialsversion:'3.4'services:myrabbit:#restart: always#build: rabbitmq/image:rabbitmq:3-management# hostname: rabbit-taigaenvironment:RABBITMQ_ERLANG_COOKIE:SWQOKODSQALRPCLNMEQG# RABBITMQ_DEFAULT_USER: "guest"# RABBITMQ_DEFAULT_PA...
docker exec -i -t celery-with-docker-compose-master_api_1 /bin/bash 可以看到,容器内已经通过挂载将宿主机的app文件夹共享了进来 随后我们执行异步任务:python3 test.py 可以看到执行成功了 由此可知,在宿主机,什么环境都不需要配置,只需要安装一个docker即可,异步任务队列的搭建和执行全部在docker的内部容器内...
首先新建celery_with_docker文件夹,cdcelery_with_docker 建立dockerfile文件 意思是基础镜像我们使用python,然后安装celery 然后新建docker-compose.yml 这个配置文件的作用是,单独拉取rabbitmq镜像,启动rabbitmq服务,用户名和密码为:liuyue:liuyue然后在镜像内新建一个celery工程,目录放在/deploy/app,随后通过挂载文件夹的...
├── docker-compose.yml├── Dockerfile └── requirements.txt 2. FastAPI和Celery配置 首先,确保你在requirements.txt文件中列出了所有需要的依赖,包括fastapi,celery[redis],uvicorn等。 在celery_app.py中设置你的Celery应用: fromceleryimportCelery ...
docker build -t celery-app . 这里的celery-app是镜像的名称,你可以根据需要替换为其他名称。 4. 运行Celery容器 在构建好镜像后,你可以使用docker run命令来运行Celery容器。但是,为了更方便地管理多个容器(如Celery、消息队列、后端服务等),建议使用docker-compose。 首先,创建一个名为docker-compose.yml的文件...
创建一个 docker-compose.yml 文件,如下所示: version: '3' services: web: build: . command: ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "80"] volumes: - .:/app ports: - 8000:80 depends_on: - redis worker: ...
Celery 的运行,至少需要一个 broker,一般选用 rabbitmq or redis,一个运行 Celery 的服务。那么安装起来比较麻烦,网络配置也比较麻烦,这里我们直接推荐用 Docker 来进行测试环境的搭建。
docker-composeup--build 1. 结论 以上就是使用 Python 的 Celery 来处理异步任务,并且进行打包与部署的完整示例。通过使用 Celery,使得我们能够有效地处理耗时的用户报告生成任务。同时,通过 Docker,将应用打包后可以在任意环境中轻松部署。 希望本文能为你在使用 Celery 处理异步任务时提供一些有用的指导与帮助。