Запуск Redis rq worker на DockerPython

Программы на Python
Anonymous
Запуск Redis rq worker на Docker

Сообщение Anonymous »

Я пытаюсь создать очередь задач с помощью redis rq. Я пытался следовать руководству, но использую докер. Ниже мой код:
app.py

Код: Выделить всё

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()
Файл создания Docker-

Код: Выделить всё

version: "3.8"
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: development

redis:
image: "redis:alpine"

Файл Docker

Код: Выделить всё

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"]
Каждый раз, когда я запускаю docker-compose up --build и открываю http://localhost:5000/, я получаю сообщение «URL не найден».
Где я ошибаюсь?
Как можно использовать рабочую команду rq в контейнерах Docker.>

Вернуться в «Python»