Код: Выделить всё
rq worker --url task_queue
Код: Выделить всё
AttributeError: module 'os' has no attribute 'fork'
Вот соответствующая часть моего кода:< /p>
import os
from fastapi import FastAPI
from pydantic import BaseModel
from redis import Redis
from rq import Queue
from rq.job import Job
from app.helpers.count_helper import count_words_at_url
# initiate a new fastAPI app
app = FastAPI()
# Create a Redis connection
redis_conn = Redis(
host=os.environ.get("REDIS_HOST"),
port=os.environ.get("REDIS_PORT"),
db=os.environ.get("REDIS_DB"),
username=os.environ.get("REDIS_USERNAME"),
password=os.environ.get("REDIS_PASSWORD"),
ssl=False
)
class Task(BaseModel):
url: str
# Create a queue object with the connection
task_queue = Queue("task_queue", connection=redis_conn)
# testing api endpoint
@app.get("/task/{job_id}/status")
def get_task_status(job_id: str):
job = Job.fetch(job_id, connection=redis_conn)
return {
"status": job.get_status(),
"result": job.result
}
# endpoint for the job
@app.post("/task/async")
async def create_task(task: Task):
# Enqueue the job
job_instance = task_queue.enqueue(count_words_at_url, task.url, timeout=300)
return {
"message": "Job enqueued, callback will be made to the specified URL",
"job_id": job_instance.id
}
< /code>
Что я пробовал: < /p>
- Я проверил свои настройки подключения Redis, и они верны. < / li>
Я попробовал запустить рабочий процесс согласно обычной команде, но столкнулся с вышеуказанной ошибкой.
- Почему возникает эта ошибка в Windows?
- Как можно Я модифицирую свой рабочий процесс, чтобы избежать использования fork(), или использую альтернативный метод, совместимый с Windows?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ibute-fork