A job that runs once a year did not run this year
search cancel

A job that runs once a year did not run this year

book

Article ID: 442457

calendar_today

Updated On:

Products

Autosys Workload Automation

Issue/Introduction

Once a yearly job with an extended calendar did not run this year.

Last run (success/failure) was from April 2025. It should have run in April 2026, but it did not run
 run_calendar: 147368_FOURTH_BUS_DAY_APR

Extended Calendar definition is set to do 4th workday of April:
condition: **/04/** AND workd#04

Cause

Per the calendar definition, 4th workday of April 2025 is April 4th 2025.  That's when the job last ran.  At that time, the next run should have been scheduled by the scheduler (which should be April 6 2026  (>366 days)).  As this was > 366 days, it would not schedule itself for April 6 2026 as expected.

Scheduler logs from April 4th 2025 would indicate a warning message about it, an example would be something like:

[04/04/2025 17:20:01]      CAUAJM_I_40245 EVENT: CHANGE_STATUS    STATUS: SUCCESS         JOB: test-job JOID: 127             RUNID: 338106          NTRY: 1
[04/04/2025 17:20:01]      CAUAJM_W_10119 Calendar 'extended_calendar_test' has no more valid dates.
[04/04/2025 17:20:01]      CAUAJM_W_10120 Job 'test-job' can no longer be scheduled because it uses a calendar without any available dates.

 

Resolution

Modify the Extended Calendar (autocal_asc or WCC GUI) and generate next year's worth of dates.

Update the job definition (jil: update_job: test-job) if needed.

Additional Information

A query like this might help identify jobs that do not have next start date but have calendar associated to them
  

select job_name, run_calendar, next_start,
       CASE WHEN last_start > 0 THEN (TIMESTAMP '1970-01-01 00:00:00' + NUMTODSINTERVAL(last_start, 'SECOND')) ELSE NULL END as last_start_time,
       CASE WHEN last_end > 0 THEN (TIMESTAMP '1970-01-01 00:00:00' + NUMTODSINTERVAL(last_end, 'SECOND')) ELSE NULL END as last_end_time
from ujo_jobst
where date_conditions = 1 and next_start = 0 and run_calendar is not NULL