Scheduling within Rational Build Forge
There are many reasons why a scheduled job can fail within Build Forge. It can fail due to a bad selector, unavailable resources or improper scripting. But what happens when the job fails to start? What if there is no indication of an error message in the UI and or Build Forge error logs. This note should help clarify a common cause for this type of error.
A job is scheduled within Rational Build Forge, and it fails to kick off. The job shows no signs of failing, because it never even started. There is no indication of a visible error messages or any information left behind by the job. It's is like it never happened.
The Rational Build Forge Scheduling mechanisms is known as a Cron job. Cron, it is a time based job scheduler. It allows you to schedule shell scripts to run at a defined time. This means that the machine Build Forge is installed on, may be located in a different time zone then that of which the user is located in. Build Forge runs off the Operating Systems selected location, which can be different then that of the user who is trying to schedule the job.
In either case, this mix up can cause jobs to not start, and or start at an undesignated times. This has been seen at least three different times.
Below is a known defect which can be avoided by scheduling jobs far enough in advance while testing. It is not however directly related to this note.
There is also an issue recorded as a defect logged under APAR PM12480.
In a Rational Build Forge environment, if it includes a large number of schedules and/or access groups, there is a potential for schedule jobs to fire a minute late or not fire at all.
The scheduler will cycle through the active schedule jobs every minute. The scheduler must check an active schedule jobs within 2 minutes of a schedule jobs next run time to fire it properly. Otherwise, the schedule jobs in question may either fail to fire or recalculate the next run time.
This has been seen in Linux, Windows and AIX systems.
Diagnosing the problem
When scheduling fails to kick of your desired job. . Create a job in Build Forge that runs 3 hours before and after the designated time.
1 . Create a very simple test project. If the project is to run at 2 pm. Schedule a job to run at 11am, 12,pm, 1pm, 2pm, 3pm, 4pm and finally at 5pm.
2. When 2pm hits the job should kick off. Under the Administration console UI in Build Forge, if you navigate to the completed jobs page, it will have a timestamp next to the scheduled job. This is the time in which the project was ran.
It is 12:30pm and I schedule a job for 1pm. The job failed to start with no error message. I scheduled the same job for 3:30pm and 2:30pm. When 3:30pm hits, the job now starts as normal.
When I go to the completed jobs page, the timestamp on the job is not 3:30 like I would suspect, it was 2:30. Indicating that Build Forge was running scheduled jobs an hour behind. So because I had a job scheduled at 2:30 and at 3:30. My computer showed 3:30 but Build Forge was actually running the job at 2:30.
NOTE: The user who schedules the job is the timezone that is used to run the job. This can be different than the Operation Systems timezone.
Resolving the problem
You can either modify the scheduled jobs and or change the user/system settings in order to match your time zones for desired functionality.