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

274
Views
¿Se agotó el tiempo de espera del trabajador gunicorn de Google App Engine en la aplicación Flask al cargar un pepinillo grande?

Tengo un archivo pickle Sklearn de 350 MB que quiero cargar al iniciar la aplicación Flask.

Uso _pickle porque se menciona en la documentación que tiene un tiempo de carga más rápido:

 import _pickle as pickle start = timeit.default_timer() with open("pickle/pipeline.pkl", 'rb') as f: # ~350MB file pipeline = pickle.load(f) stop = timeit.default_timer() print('Time: ', stop - start)

El pickle se carga en 5 a 12 segundos localmente, pero en la instancia de Google App Engine F4 (1 GB de RAM), el trabajador gunicorn agota.

Registro de Google App Engine:

 A 2019-10-20T20:07:55Z [2019-10-20 20:07:55 +0000] [14] [INFO] Booting worker with pid: 14 A 2019-10-20T20:11:02Z [2019-10-20 20:04:14 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:14)

Intenté aumentar el tiempo de espera del trabajador agregando el indicador -t en el archivo app.yaml de la siguiente manera y aún no funciona:

 runtime: python instance_class: F4 env: flex entrypoint: gunicorn -t 120 -b :$PORT app:app liveness_check: initial_delay_sec: 500 readiness_check: app_start_timeout_sec: 500

Incluso intenté usar eventlet y no funcionó:

 gunicorn -t 120 -b :$PORT app:app --worker-class eventlet --workers 3
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

El proceso de carga de un archivo de datos pickle de 350 MB está tardando demasiado y App Engine cree que tu instancia ha fallado. El tiempo de inicio de su contenedor es de más de tres minutos.

Tienes un problema que no se puede resolver fácilmente. El tamaño máximo de archivo es de 32 MB (64 MB para aplicaciones Go). Está descargando el archivo a la memoria, pero su instancia está tardando demasiado en descargarlo.

Solución: usaría un servicio diferente, como Cloud Run, donde puede incrustar su archivo de datos de pickle en la imagen del contenedor para que no se requieran descargas.

over 4 years ago · Santiago Trujillo Report

0

Pruebe con el punto de entrypoint: gunicorn -t 0 -b :$PORT app:app funcionó para mí.

over 4 years ago · Santiago Trujillo Report
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!