Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

492
Vistas
__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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda