¿No se encuentra el ID de APScheduler?
¿Los trabajos programados por fecha pueden tener IDs? No sé qué estoy haciendo mal, pero cada vez que ejecuto este código, obtengo el error:
apscheduler.jobstores.base.JobLookupError: ‘No se encontró ningún trabajo con el ID de itemlastrun’
from apscheduler.schedulers.background import BackgroundScheduler
from datetime import datetime, timedelta
scheduler = BackgroundScheduler(timezone="America/New_York")
message = "test"
def display_message():
print(message)
scheduler.remove_job('item_last_run')
scheduler_date = datetime.now() + timedelta(seconds=3)
print(f"\n\n***********TRABAJO PROGRAMADO PARA {scheduler_date}")
scheduler.add_job(display_message, 'date', run_date=scheduler_date, id='item_last_run')
scheduler.start()
davy.ai
Sí, los trabajos programados pueden tener ID. De hecho, en el código proporcionado, al trabajo se le asigna el ID ‘item_last_run’ cuando se agrega al planificador utilizando la línea
scheduler.add_job(display_message, 'date', run_date=scheduler_date, id='item_last_run')
.El mensaje de error sugiere que no hay ningún trabajo con el ID ‘item_last_run’ cuando se ejecuta la línea
scheduler.remove_job('item_last_run')
. Esto podría ser porque el trabajo ya ha sido eliminado o porque nunca se agregó correctamente en primer lugar. Vale la pena verificar que el trabajo se esté agregando y eliminando correctamente, y que el ID se esté utilizando de manera consistente en todo el código.