Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

497
Visualizações
__call__() falta 1 argumento posicional requerido: 'send' FastAPI en App Engine

Al intentar alojar una API en App Engine, sigue apareciendo el siguiente error. El programa solía ejecutarse en Flask, que funcionaba pero era muy lento.

Error:

 "Traceback (most recent call last): File "/env/lib/python3.7/site-packages/gunicorn/workers/sync.py", line 134, in handle self.handle_request(listener, req, client, addr) File "/env/lib/python3.7/site-packages/gunicorn/workers/sync.py", line 175, in handle_request respiter = self.wsgi(environ, resp.start_response) TypeError: __call__() missing 1 required positional argument: 'send' "

Archivo acoplable:

 FROM gcr.io/google_appengine/python RUN apt-get update && apt-get install -y ffmpeg # Create a virtualenv for dependencies. This isolates these packages from # system-level packages. RUN virtualenv /env -p python3.7 # Setting these environment variables are the same as running # source /env/bin/activate. ENV VIRTUAL_ENV /env ENV PATH /env/bin:$PATH ADD requirements.txt /app/requirements.txt RUN pip install -r /app/requirements.txt # Add the application source code. ADD . /app CMD gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app

aplicación.yaml

 runtime: custom env: flex entrypoint: gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app service: encoder runtime_config: python_version: 3 handlers: - url: /.* script: auto
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Como dijo Dustin, descubrí que la clase trabajadora debe cambiar. Prueba el de abajo.

 gunicorn -k uvicorn.workers.UvicornWorker main:app

Encontré esto en problemas de github

over 4 years ago · Santiago Trujillo Relatório

0

App Engine requiere que su archivo main.py declare una variable de app que corresponda a una aplicación WSGI .

Dado que FastAPI es un marco web asíncrono, no es compatible con WSGI (que es síncrono).

Su mejor opción sería usar un servicio como Cloud Run , que le permitiría definir su propio tiempo de ejecución y usar un servidor HTTP asíncrono compatible con FastAPI.

over 4 years ago · Santiago Trujillo Relatório

0

Me encontré con el mismo problema cuando quiero implementar una aplicación FastAPI en Heroku. De hecho, no puede usar uvicorn (que es el marco ASGI que usa FastAPI) con Heroku que usa gunicorn .

Sin embargo, al agregar un trabajador de uvicorn a gunicorn , ¡entonces funciona!:

gunicorn api:app --bind 0.0.0.0:$PORT --worker-class uvicorn.workers.UvicornWorker

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda