Para evitar utilizar las credenciales por completo, desacoplar el desencadenante del script de calentamiento de caché del evento del lado del servidor.
El concepto es:
- el evento del lado del servidor establece un indicador en una ubicación compartida
- el proceso persistente ejecutado por el usuario de script de calentamiento de la memoria caché supervisa esa ubicación compartida
- si el proceso persistente ve que el indicador está establecido, el indicador se borra y se ejecuta el script de calentamiento de caché
Dado que el proceso persistente se puede ejecutar a través de cron o como un demonio que es propiedad del usuario del script de calentamiento de caché, solo debe configurarlo una vez, nunca necesita pasar las credenciales de la cuenta de usuario.
Ubicación compartida:
Decida sobre una ubicación compartida a la que se pueda acceder y escribir tanto por el evento del lado del servidor como por el usuario que necesita ejecutar el script de calentamiento de caché. En un sistema con una base de datos, esto podría ser una variable en una tabla de configuración. Pero esto también podría ser solo un archivo en un directorio que está a cargo de ambos usuarios y es tocado por el evento del lado del servidor.
Estableciendo la bandera:
Si está utilizando una base de datos, un ejemplo de configuración de un indicador sería si tiene una tabla de variables que tiene columnas de clave y valor, estableciendo el valor de una clave particular en 1. Si es un archivo, sería la existencia de un archivo.
Beneficios secundarios:
Si necesita restringir la frecuencia con la que se ejecuta el script de calentamiento de caché, siempre puede implementar la lógica en el proceso persistente para realizar un seguimiento de la última vez que se ejecutó el script para evitar el uso excesivo si algo falla.
Puede agregar fácilmente múltiples desencadenantes de la secuencia de comandos de calentamiento de la caché desde otros eventos del lado del servidor porque el método de activación de la secuencia de comandos está oculto detrás de la interfaz de ubicación compartida.