首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在码头上运行Redis rq工人

在码头上运行Redis rq工人
EN

Stack Overflow用户
提问于 2020-11-04 15:14:08
回答 1查看 1.6K关注 0票数 0

我正在尝试使用redis rq建立一个任务队列。我试着遵循一个教程,但我使用的是码头。下面是我的密码-

app.py

代码语言:javascript
复制
from flask import Flask, request
import redis
from rq import Queue

import time
app = Flask(__name__)

r = redis.Redis()
q = Queue(connection=r)

def background_task(n):

    """ Function that returns len(n) and simulates a delay """

    delay = 2

    print("Task running")
    print(f"Simulating a {delay} second delay")

    time.sleep(delay)

    print(len(n))
    print("Task complete")

    return len(n)

def index():

    if request.args.get("n"):

        job = q.enqueue(background_task, request.args.get("n"))

        return f"Task ({job.id}) added to queue at {job.enqueued_at}"

    return "No value for count provided"


if __name__ == "__main__":
    app.run()

码头工人撰写文件-

代码语言:javascript
复制
version: "3.8"
services:
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
    environment:
      FLASK_ENV: development
     
      
  redis:
    image: "redis:alpine"

Dockerfile

代码语言:javascript
复制
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
EXPOSE 5000
COPY . .
CMD ["flask", "run"]

每当我运行‘’码头-组成-构建‘’并打开http://localhost:5000/,我得到的网址找不到我哪里出错了?如何在码头集装箱中使用rq worker命令。

EN

回答 1

Stack Overflow用户

发布于 2021-04-25 13:01:57

红色信息系统:

图片:“红葡萄酒:高山”

问题是,Docker compose中指定的映像应该是Dockerfile生成的图像。

因为您有一个要用于此映像的dockerfile,所以可以在行中指定它,请参阅此处的文档:https://docs.docker.com/compose/compose-file/compose-file-v3/

版本:"3.9“服务: webapp:构建:上下文:./dir dockerfile: Dockerfile-备用args: buildno: 1

作为一种良好的实践,您应该提供一个自定义名称来表示工作脚本,而不是在docker文件中调用您的服务"redis“。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64682749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档