Todas las entradas de: admin

Guía 77- Ejecución de tareas en colas en «background»

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.

Guía 76 – Recopilación de soluciones habituales en PHPRunner

El nombre y todo en este artículo os va a ser muy raro.

No es ni más ni menos que un conjunto de soluciones que habitualmente se pueden utilizar en PHPRunner y que están usadas en muchos de los ejemplos y que por ser genéricas no sé localizarlas fácilmente entre todos los artículos.

Para que sea fácilmente identificable, hago esta lista:

  1. Utilización de varias páginas para una acción en una única página. (definición, ejecución y lógica de programación dependiendo del nombre de la página).
  2. Modificación (ajustes) del tamaño  de las páginas POPUP de PHPRunner.
  3. Creación (por botón custom) de una ventana POPUP. Cierre de la ventana (fácil)  al terminar la acción.
  4. Eliminación de los paneles de menú de una página ( clave de IFRAME).

Seguramente este artículo seguiré utilizando como recopilación de otros similares a los descritos.

Objetivo

Disponer de una artículo donde se recojan soluciones habituales que se utilizan en los proyectos de PHPRunner.

DEMO: https://fhumanes.com/guia76/

Si estás interesado en este artículo, sigue leyendo el mismo haciendo clic en este enlace.

Guía 75 – Crear Diagramas

Hasta este momento, no disponía de un ejemplo en donde pudiera realizar diagramas dinámicamente y que fuese almacenado como «datos», para poderlos tratar en los programas PHPRunner.

El fabricante DevExtreme, del que ya os expliqué cómo utilizar una tabla Pivot de gran potencia de análisis, tiene muchas soluciones que fácilmente se pueden integrar en PHPRunner y en esta ocasión he seleccionado la solución de creación de Diagramas. Tiene muchos ejemplos, con su correspondiente código que se puede incorporar a nuestros proyectos.

Objetivo

Realizar Diagramas y guardar su definición en un campo de la base de datos

DEMO: https://fhumanes.com/diagramas/

Si estás interesado en este tema, sigue leyendo el artículo en este enlace.

Crear informes con phpSpreadsheet (actualización)

He actualizado este artículo y ejemplo, para adecuarlo a las últimas versiones de la biblioteca de PHP phpSpreadsheet. Esta versión requiere PHP 8.X y he añadido la extensión de «dompdf/dompdf», para poder crear PDF’s y la biblioteca «mitoteam/jpgraph», para los gráficos en PDF.

He hecho prueba de pasar los informes del ejemplo a PDF y el resultado, desde mi punto de vista, sigue siendo muy malo.

También, he generalizado el acceso a los datos para que no sea dependiente de MySQL. Ahora serviría para cualquier base de datos.

El informe de Municipios con ruptura y cabecera por Provincia lo he realizado siguiendo el método propuesto de insertar líneas para «arrastrar» los estilos de las filas, el que he llamado «lento» y el llamado «rápido» he utilizado el método de copiado de estilos, sin hacer inserciones de líneas.

Cuando inserta líneas, además de copiar los estilos revisa toda la hoja para recalcular las fórmulas y de ahí la tardanza que tiene una progresión exponencial del tiempo requerido según se va aumentando el número de registros.

Para 8.122 registros, la mejora es de al menos de 10 a 1.

DEMO: https://fhumanes.com/reports/

Si te interesa este tema, sigue leyendo el artículo de este enlace.