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

413
Vistas
503 Error: Servicio no disponible heroku al hacer inferencia

Implementé un modelo de aprendizaje automático usando Fast API en Heroku e implementé el trabajador en segundo plano y asíncrono, pero cuando estoy haciendo inferencias, sigo recibiendo el error 503. Sé que el tiempo de respuesta del servidor en Heroku es de 30 segundos.

Pero como estoy usando un trabajador en segundo plano, debería poder ejecutarlo en segundo plano; en cambio, recibo errores. Estoy usando el plan gratuito de Heroku para implementar

 app = FastAPI() response = {} @app.get('/predict') async def predictions(solute, solvent): mol = Chem.MolFromSmiles(solute) response["predictions"] = delta_g.item() return {'result': response} async def predict(background_tasks: BackgroundTasks,solute,solvent): background_tasks.add_task(predictions,solute,solvent) from predict_json import json_data_func @app.get('/predict_two') async def predictions_two(solute): for i in data: delta_g, interaction_map = model([get_graph_from_smile(Chem.MolToSmiles(Chem.AddHs(Chem.MolFromSmiles(solute)))).to(device), get_graph_from_smile(Chem.MolToSmiles(Chem.AddHs(Chem.MolFromSmiles(i)))).to(device)]) response_two[i] = delta_g.item() return {'result': response_two} async def predict_two(background_tasks: BackgroundTasks,solute): background_tasks.add_task(predictions_two,solute)

Archivo de proceso: web: gunicorn -w 2 -k uvicorn.workers.UvicornWorker main:app

Entonces, ¿qué debo hacer para ejecutar mi código en segundo plano sin tener un error de tiempo de espera de respuesta del servidor?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede agregar el parámetro de timeout de espera (con -t o --timeout ) al gunicorn como se indica en la documentación del gunicorn .

Ejemplo de uso:

 gunicorn -w 2 -k uvicorn.workers.UvicornWorker -t 90 main:app
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