Antecedentes: actualmente estoy trabajando junto con un proveedor de FaaS que nos permite ejecutar en nuestra aplicación un activador programado, básicamente nos permite ejecutar un método en un horario. El problema es que solo nos dan 3 opciones: hora, semana, año. Eso significa que no puedo ejecutar un método 4 veces al día, en intervalos de 6 horas.
Empecé a pensar en implementar esta lógica con la expresión cron.
const sixHourCron = new CronJob("0 */6 * * *", () => setScheduledTriggerInterval); La función setScheduledTriggerInterval llama a una API y verifica el estado del usuario. Esta es también la función que se llama cada hora al implementar el Activador programado como se mencionó anteriormente. Pero solo quiero que la función se ejecute si no se ejecutó en las últimas 6 horas.
¿Hay alguna manera de tener algo como esto:
const setScheduledTriggerInterval = () => { //check last time function ran with global initialized crontime/cronjob? if 6 hours have passed run the job else return and do nothing }Nota: tengo que usar la funcionalidad de activación programada, por lo que, lamentablemente, el tiempo de espera o los intervalos no son una opción.