Released April 6, 2015
The Job Control Action has been modified so that a Response (run at the Job or Job Step level) can terminate itself. For example, this can be used to allow a job to terminate itself if it exceeds a specified run time.
When the Job Control Action is configured to terminate "The current job," it will terminate only the instance of the job that runs the Response, not any other executing instances.
When you duplicate a Job Group (which makes a copy of the Group and all its subgroups and jobs), adTempus will now transfer links among jobs (i.e., Job Conditions, Job Control Actions, and Job Triggers) within the group hierarchy to the new jobs.
Previously these links were not updated and remained pointing to the original jobs rather than the new copies.
For example, suppose "Group 1" contains "Job 1," which has a Job Condition on "Job 2". When you duplicate "Group 1" to "Group 1 Copy", "Group 1 Copy\Job 1" will now have a condition on "Group 1 Copy\Job 2". In previous versions the link was not updated, and "Group 1 Copy\Job 1" ended up with a condition on "Group 1\Job 2."
The connection property windows for Remote Agents and Peer connections have been enhanced to make it easier to connect to non-default port numbers and named instances, and to enter overrides for servers using untrusted server certificates (see CR00003003).
When adTempus prunes job history based on history retention settings, by default it will no longer purge any instances that failed if the failure has not been acknowledged.
This behavior can be changed using the advanced server option "MaintenanceThread:RetainUnacknowledgedFailures".
Database output file produced by Database Operation Task modified to:
Notification messages can now be formatted using HTML, though there is not yet support for editing messages using an HTML editor in the user interface. To use HTML formatting, paste in the HTML source for the notification message. The message body must begin with an "<html>" tag for adTempus to recognize it as an HTML message.
The same automatic conversion will be applied for message bodies set through code or Job Variables.
The step-level Job Variables are defined only when a Step is executing, and therefore cannot be used in a job-level Response. For example, you might want a job-level Response to run when the job fails, indicating which step failed. Presently there is no variable available to supply this information. adTempus has been modified so the following variables can be used in job-level responses; they will contain information about the most recent step executed:
The permission report shows the effective permissions for a particular object and user and can be used to debug problems with permission inheritance.
To display a report, right-click within the settings area on the Security page of an object properties window, and select "Show permission report for user..."
Due to a limitation of the database driver used for Oracle, stored procedures could not be executed using the "exec procname" syntax when running Database Operation Tasks. adTempus has been modified to translate "exec" statements to the required syntax.
A statement such as
exec my_proc('parm1')
is now submitted to the database as
{call my_proc('parm1')}
When you create a Response for a Job Step using the "Restart Limit Exceeded" event, adTempus applies that event any time another Response on the Step tries to restart either the Job or the Step and reaches the restart limit. Because of the ambiguity over which restart this Response should apply to, adTempus ends up invoking the Response in an endless loop once the restart limit for the job is reached.
To resolve this problem the behavior of the event has been changed so that the "Restart Limit Exceeded" event only applies to restarts of the Job Step when it is used for a Response defined for a Step.
Any Responses defined at the job level for "Restart Limit Exceeded" will be invoked for any job restart, whether invoked from job-level or step-level responses.
For more information see Knowledge Base article K00000460.
If you change the setting of the "Also show instances that completed with warnings" option in the Failed Jobs view, the view does not use the new setting right away. Therefore it continues to show jobs filtered based on the old setting. For example, if you check the box to show instances with warnings, no instances will be shown, even if some exist.
This problem has been resolved.
Added status icons to Groups and Queues to indicate whether they contain active and/or failed jobs. This behavior was present in adTempus 3 and earlier, but was omitted from version 4.
When you use the Duplicate Group command to make a copy of a Job Group, the copy may process may fail if the group has sub-groups, giving error ADT000063E: The requested object cannot be found.
If you click the "Look online for more information" link for the error message, this may fail with the error "ActiveX control cannot be instantiated because the current thread is not in a single-threaded apartment."
When you attempt to delete a job with a large amount of history (several thousand instances retained), the Console may report a timeout error or may hang indefinitely. This was caused by the adTempus server incorrectly trying to delete the job history in real-time, while the Console waited for a response.
This problem has been corrected so that history for the deleted job is purged during the normal background history cleanup process.
If you modify a job to add, remove, or reorder steps, and then execute the job manually using the Run command, the Steps page of the Execute Job window may not reflect the changes you have made. This does not affect execution of the job, only your ability to select specific steps.
This problem has been resolved.
For more information see Knowledge Base article K00000463.
If you use SQL Server security for the connection to the adTempus database, and the database password contains certain characters (semicolon, single quote, or double quote), adTempus may be unable to connect to the database, reporting the following error:
Keyword not supported: 'XXXX; application name'.
where "'XXXX" is part of the password.
For more information see Knowledge Base article K00000458.
When importing a version 3 export file into version 4, the import fails if the file contains job history, with error ADT005114E: Import failed: Invalid value "{1EC07219-59BE-4F02-A3BF-C7FDDA2AC982}:{guid value}" for field jobOID
In some scenarios, a job that is configured to skip execution if another instance is already active may be skipped even if no other instance is active. This may occur when all of the following are true:
When you submit a job for manual execution (through the Execute command in the Console or the adtexec tool) you may receive errorADT000003X: An error occurred on the server while processing the request. The job is successfully submitted for execution despite the error.
This problem was resolved.
When adTempus runs multiple jobs at the same time and all use the same Credential Profile, the jobs are run under a single logon session for the user. In cases where two jobs need to map the same drive letter to different resources, this causes the second job's mapping to fail, because the drive letter is already being used in the logon session.
This behavior was modified so that jobs that use different mappings are run under different logon sessions.
When a script run by a Script Execution Task fails with an error such as an unhandled exception, adTempus may report the status of the step as "Execution Failed" rather than "Failed." Because of this, the step is treated as a failure even if the Success Determination Rule is set to "'Report the step as Successful...'
This behavior has been changed so that "Execution Failed" is only reported if a script cannot be started, and "Failed" is used for any failures during script execution.
For more information see Knowledge Base article K00000461.