Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -570,11 +570,70 @@ with gr.Blocks(title="馃幀 Generador de Videos IA", theme=gr.themes.Soft()) as d
|
|
| 570 |
鈴憋笍 **Tiempo estimado**: 2-5 minutos dependiendo de la duraci贸n del contenido.
|
| 571 |
""")
|
| 572 |
|
| 573 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 574 |
if __name__ == "__main__":
|
| 575 |
logger.info("馃殌 Iniciando aplicaci贸n Generador de Videos IA...")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 576 |
demo.launch(
|
| 577 |
server_name="0.0.0.0",
|
| 578 |
server_port=7860,
|
| 579 |
-
show_api=False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 580 |
)
|
|
|
|
| 570 |
鈴憋笍 **Tiempo estimado**: 2-5 minutos dependiendo de la duraci贸n del contenido.
|
| 571 |
""")
|
| 572 |
|
| 573 |
+
# Configurar variables de entorno para timeout
|
| 574 |
+
os.environ["GRADIO_SERVER_TIMEOUT"] = "1800" # 30 minutos en segundos
|
| 575 |
+
|
| 576 |
+
# Tambi茅n puedes configurar el timeout espec铆fico para las funciones
|
| 577 |
+
def configure_gradio_interface():
|
| 578 |
+
# Aqu铆 va tu interfaz de Gradio existente
|
| 579 |
+
# Ejemplo de c贸mo configurar timeout en los componentes:
|
| 580 |
+
|
| 581 |
+
with gr.Blocks(
|
| 582 |
+
title="Generador de Videos IA",
|
| 583 |
+
theme=gr.themes.Soft(),
|
| 584 |
+
css="""
|
| 585 |
+
.gradio-container {
|
| 586 |
+
max-width: 1200px !important;
|
| 587 |
+
}
|
| 588 |
+
"""
|
| 589 |
+
) as demo:
|
| 590 |
+
|
| 591 |
+
# Tus componentes de interfaz aqu铆...
|
| 592 |
+
|
| 593 |
+
# Para botones con procesamiento largo, usar queue y timeout
|
| 594 |
+
generate_btn = gr.Button("Generar Video", variant="primary")
|
| 595 |
+
|
| 596 |
+
# Configurar el evento con timeout espec铆fico
|
| 597 |
+
generate_btn.click(
|
| 598 |
+
fn=tu_funcion_generacion_video, # Tu funci贸n de generaci贸n
|
| 599 |
+
inputs=[...], # Tus inputs
|
| 600 |
+
outputs=[...], # Tus outputs
|
| 601 |
+
queue=True, # Habilitar cola
|
| 602 |
+
api_name="generate_video",
|
| 603 |
+
# show_progress=True # Mostrar progreso
|
| 604 |
+
)
|
| 605 |
+
|
| 606 |
+
return demo
|
| 607 |
+
|
| 608 |
+
# Ejecutar aplicaci贸n con configuraci贸n de timeout
|
| 609 |
if __name__ == "__main__":
|
| 610 |
logger.info("馃殌 Iniciando aplicaci贸n Generador de Videos IA...")
|
| 611 |
+
|
| 612 |
+
# Crear la demo
|
| 613 |
+
demo = configure_gradio_interface()
|
| 614 |
+
|
| 615 |
+
# Configurar la cola con timeout extendido
|
| 616 |
+
demo.queue(
|
| 617 |
+
concurrency_count=1, # Procesar un video a la vez
|
| 618 |
+
max_size=10, # M谩ximo 10 en cola
|
| 619 |
+
api_open=False
|
| 620 |
+
)
|
| 621 |
+
|
| 622 |
+
# Lanzar con configuraci贸n de timeout
|
| 623 |
demo.launch(
|
| 624 |
server_name="0.0.0.0",
|
| 625 |
server_port=7860,
|
| 626 |
+
show_api=False,
|
| 627 |
+
share=False, # Cambiar a True si necesitas compartir p煤blicamente
|
| 628 |
+
inbrowser=False,
|
| 629 |
+
quiet=False,
|
| 630 |
+
# Configuraciones adicionales de servidor
|
| 631 |
+
enable_queue=True,
|
| 632 |
+
max_threads=40, # M谩s threads para manejar requests
|
| 633 |
+
# Configurar timeout del servidor web
|
| 634 |
+
server_kwargs={
|
| 635 |
+
"timeout_keep_alive": 1800, # 30 minutos
|
| 636 |
+
"timeout_graceful_shutdown": 30,
|
| 637 |
+
"limit_concurrency": 10
|
| 638 |
+
}
|
| 639 |
)
|