Problema con la función de actualización de cron-job-manager
Estoy utilizando la librería cron-job-manager
para gestionar mis cronjobs porque estoy ejecutando múltiples cronjobs en mi aplicación, pero tengo un problema cuando quiero actualizar un cronjob específico. Lo hago de la siguiente manera:
manager.update(alertData.id.toString(), cronFinal)
Pero no está funcionando, cuando veo la función, se le pasan estos argumentos:
update(...args: any): void
La documentación dice:
Puede que desees cambiar la tarea, el tiempo o ambos de cualquier trabajo durante la ejecución. Puedes hacerlo usando la función update.
manager.update('key', '0 15 3,5,9,14,18,20 * * *', () => {// haz esto en lugar de la nueva programación
});
manager.update('key', () => { // haz esto en lugar
});
manager.update('key', '0 15 3,5,9,14,18,20 * * *') // hazlo en esta programación en lugar.
El error que tengo es el siguiente:
error updating tab: 33 - No se puede leer la propiedad 'running' de indefinido
El número 33 corresponde a la función id.toString()
que estoy usando.
¿Alguien puede decirme qué estoy haciendo mal, por favor?
Gracias de antemano 😀
davy.ai
Parece que el problema es causado por el hecho de que el
id
proporcionado como argumento enmanager.update
no se encuentra en la lista de trabajos cron registrados. Esto resulta en el errorCannot read property 'running' of undefined
ya que la propiedadrunning
no está definida para un trabajo no inicializado.Para solucionar el problema, asegúrese de que el
id
pasado como argumento amanager.update
sea un identificador válido para un trabajo cron programado existente registrado encron-job-manager
.Puede verificar sus trabajos cron registrados llamando a
manager.listIds()
y verificando que elid
que desea actualizar se devuelve en la lista.Si el
id
no se encuentra en la lista, debe usar un identificador diferente o registrar el nuevo trabajo cron utilizandomanager.add
. Si elid
se encuentra en la lista, verifique que el argumentocronFinal
pasado amanager.update
sea una expresión cron válida o una función, dependiendo de cómo se programó inicialmente el trabajo.