The timezone was changed on the Scheduler and Database servers and the Scheduler was restarted after the change. However, there are jobs that are still running under the old TZ setting. After they complete, their next run uses the updated timezone setting. What action should be taken to ensure all runs use the new timezone setting, even for their first run after the change?
This problem will occur for any job with date conditions that had its next start time set by the Scheduler prior to changing the server's timezone. When the Scheduler evaluates the date conditions for a job, the next start time will be posted based on the server timezone setting at the time of that evaluation. This results in a future STARTJOB event for the job posted with a timestamp based on that timezone setting. If the timezone for the Scheduler is changed, these future STARTJOB events are not automatically adjusted to reflect the change. Therefore, these STARTJOB events will still process based on the previous timezone setting.
In order to ensure jobs in this scenario run under the new timezone setting immediately after the change, you must force the Scheduler to re-evaluate the date conditions for these jobs after the timezone change is made. This can be done by issuing a job update through jil for each of the jobs without any actual changes to job attributes. Build a text file containing a series of "update_job: <job_name>" statements, each on a new line. You can then use the file as standard input for the jil command. (jil < file) As each "update_job" line is read in, the Scheduler will cancel any existing future STARTJOB event for the specified job and post a new one based on current timezone settings.