es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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 😀

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema es causado por el hecho de que el id proporcionado como argumento en manager.update no se encuentra en la lista de trabajos cron registrados. Esto resulta en el error Cannot read property 'running' of undefined ya que la propiedad running no está definida para un trabajo no inicializado.

    Para solucionar el problema, asegúrese de que el id pasado como argumento a manager.update sea un identificador válido para un trabajo cron programado existente registrado en cron-job-manager.

    Puede verificar sus trabajos cron registrados llamando a manager.listIds() y verificando que el id 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 utilizando manager.add. Si el id se encuentra en la lista, verifique que el argumento cronFinal pasado a manager.update sea una expresión cron válida o una función, dependiendo de cómo se programó inicialmente el trabajo.

Comments are closed.