Hola buenas tardes, tengo un app en flask que realiza distintas actividades y necesito que el tiempo de ejecucion de una ruta se puede ampliar para aquellas tareas que demandan mucho tiempo. He leido algo sobre el modulo celery pero no estoy familiarizado, agradezco info.
Hola, con Celery directamente ejecutas las tareas en forma separada, osea vos llamas a ejecutar una tarea y celery la ejecuta en un comando separado, fuera de Flask, entonces te evitas el timeout. Osea con Flask en tu server tenes un boton de ejecutar tarea, despues podes renderizar un template que cada cierta cantidad de segundos por ajax le pregunte a Celery si terminó de ejecutar la tarea y cuando celery te contesta que ya la termino de ejecutar podes mostrar el resultado. Para lo que queres hacer me parece ideal usar celery porque no dependes del tiempo de ejecucion de Flask. Si le aumentas el tiempo de ejecución a Flask, corres el riesgo de que no lo aumentes lo suficiente para una tarea. Yo nunca usé Flask, pero si usé Celery con Django, pero igual es relativamente simple. Celery usa rabbitmq o redis para comunicarse entre el proceso que maneja las tareas y los workers que son quienes ejecutan las tareas. Por eso te animo a probarlo y cualquier cosa, ya sabes que estamos acá. Saludos, Javier.
Hola , gracias, ahi lo probe con Flask a celery, la verdad que funciono genial. Me tomo procesos grandes. Muchisimas gracias, gran explicaciones!