Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

279
Views
Uvicorn no procesa algunas solicitudes al azar

Estamos ejecutando una aplicación web Fastapi + Uvicorn utilizando gunicorn como administrador de procesos y Nginx como servidor proxy inverso. La aplicación se ejecuta en modo asíncrono para la mayoría de las operaciones de E/S (llamada a base de datos, resto de API). Toda la configuración se ejecuta dentro de un contenedor Docker en Ubuntu 16.04.

La configuración funciona la mayoría de las veces, pero a veces no procesa una solicitud en absoluto y se agota el tiempo de espera al final de Nginx. También intentamos sacar a Nginx de la configuración y observamos que pocas solicitudes se procesan después de mucho tiempo (como después de 15 minutos). Esto es muy aleatorio, pero generalmente sucede 2-3 veces en una hora.

A continuación se muestra la configuración de gunicorn que estamos usando:

 host = os.getenv("HOST", "0.0.0.0") port = os.getenv("PORT", "80") # Gunicorn config variables workers = web_concurrency bind = f"{host}:{port}" keepalive = 2 timeout = 60 graceful_timeout = 30 threads = 2 worker_tmp_dir = "/dev/shm" # Logging mechanism capture_output = True loglevel = os.getenv("LOG_LEVEL", "debug")

Y gunicorn se invoca con el comando exec gunicorn -k uvicorn.workers.UvicornWorker -c "$GUNICORN_CONF" "$APP_MODULE"

Hemos intentado varios cambios de configuración como:

  1. Cambiar el número de trabajadores, tiempo de espera del trabajador
  2. Cambiar el administrador de procesos de gunicorn a supervisado
  3. Descarga de la tarea intensiva de la CPU a Celery en lugar de subprocesamiento
  4. Vincular la aplicación uvicorn al socket de Unix en lugar del servidor proxy
over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!