Estoy muy contento con este ejercicio, pues es algo que los sistemas disponían (Oracle Forms y Report, por ejemplo) y es muy habitual en sistemas grandes, pero no se ve en los sistemas Web Forms y se echa mucho de menos.
Estamos acostumbrados en las aplicaciones Web Forms (como las que realizamos en PHPRunner) a que todo se ejecute en el mismo momento que se solicita y esto hace :
- Que los usuarios se queden «colgados» durante el tiempo que se completa la petición.
- No tenemos forma de asegurar el correcto funcionamiento del sistema, pues esos procesos largos y pesados intentan capturar todos los recursos del sistema y no tenemos forma de limitar las ejecuciones pesadas, ni secuenciarlas para que no compitan todas las peticiones con todas las peticiones.
- Aplicaciones para muchos usuarios, hace que estos sistemas sean inestables y que se puedan «colgar» con cierta facilidad.
Objetivo
Disponer de un sistema de diferentes colas de ejecución de tareas en «background» que nos permita regular la carga de los sistemas y asegurar que las tareas pesadas se ejecutan en orden y secuenciadas, para que no saturen el sistema.
DEMO: https://fhumanes.com/scheduler_queue
Usuarios: admin/admin y user1/user1
Si estas interesado en este artículo, sigue leyéndolo en este enlace.