Unicenter AutoSys 4.5 Job Management For Windows User Guide
Unicenter AutoSys 4.5 Job Management For Windows User Guide
User Guide
4.5
This documentation and related computer software program (hereinafter referred to as the “Documentation”) is for
the end user’s informational purposes only and is subject to change or withdrawal by Computer Associates
International, Inc. (“CA”) at any time.
This documentation may not be copied, transferred, reproduced, disclosed or duplicated, in whole or in part,
without the prior written consent of CA. This documentation is proprietary information of CA and protected by the
copyright laws of the United States and international treaties.
Notwithstanding the foregoing, licensed users may print a reasonable number of copies of this documentation for
their own internal use, provided that all CA copyright notices and legends are affixed to each reproduced copy. Only
authorized employees, consultants, or agents of the user who are bound by the confidentiality provisions of the
license for the software are permitted to have access to such copies.
This right to print copies is limited to the period during which the license for the product remains in full force and
effect. Should the license terminate for any reason, it shall be the user’s responsibility to return to CA the reproduced
copies or to certify to CA that same have been destroyed.
To the extent permitted by applicable law, CA provides this documentation “as is” without warranty of any kind,
including without limitation, any implied warranties of merchantability, fitness for a particular purpose or
noninfringement. In no event will CA be liable to the end user or any third party for any loss or damage, direct or
indirect, from the use of this documentation, including without limitation, lost profits, business interruption,
goodwill, or lost data, even if CA is expressly advised of such loss or damage.
The use of any product referenced in this documentation and this documentation is governed by the end user’s
applicable license agreement.
Provided with “Restricted Rights” as set forth in 48 C.F.R. Section 12.212, 48 C.F.R. Sections 52.227-19(c)(1) and (2) or
DFARS Section 252.227-7013(c)(1)(ii) or applicable successor provisions.
Chapter 1: Introduction
Related Publications .......................................................................... 1–2
Jobs ......................................................................................... 1–2
Defining Jobs ............................................................................. 1–2
Graphical User Interface ............................................................... 1–3
Job Information Language ............................................................. 1–3
System Components .......................................................................... 1–4
Event Server .............................................................................. 1–5
High-Availability Option: Dual-Event Servers ........................................... 1–5
Event processor ........................................................................... 1–6
High-availability Option: Shadow Event Processor ....................................... 1–6
Remote Agent ............................................................................ 1–7
Example Scenario on Windows ............................................................. 1–8
Explanation ........................................................................... 1–9
Interface Components .................................................................... 1–10
Machines ................................................................................... 1–10
Contents iii
Chapter 2: Security
Overview .....................................................................................2–1
Native Security ...............................................................................2–2
User Authentication....................................................................2–8
Event processor Authentication .........................................................2–9
User and Database Administrator Passwords ................................................2–9
iv User Guide
Chapter 3: Jobs
Job Types and Structure ....................................................................... 3–2
Basic Job Information ...................................................................... 3–2
Command Jobs ........................................................................... 3–3
Box Jobs .................................................................................. 3–3
Starting Conditions for Box Jobs ........................................................ 3–4
File Watcher Jobs ......................................................................... 3–5
Job Profiles ................................................................................... 3–6
Using the Job Profiles Manager ............................................................. 3–8
Basic Job Attributes .......................................................................... 3–11
Command Job Attributes ................................................................. 3–11
Contents v
Chapter 4: Job Attributes
Job Attributes and Job Definitions ..............................................................4–1
Organization ..............................................................................4–3
Essential Job Attributes ........................................................................4–4
Attributes Common to All Job Types ........................................................4–4
Job Name .............................................................................4–4
Job Type ..............................................................................4–4
Job Owner ............................................................................4–4
vi User Guide
Terminate the Job if the Box Fails ...................................................... 4–14
Contents vii
Chapter 5: Box Job Logic
Basic Box Concepts ............................................................................5–1
Default Box Job Behavior ...................................................................5–1
When You Should Not Use a Box ...........................................................5–2
Contents ix
Setting Time Zones .................................................................. 7–21
Example on Setting Date and Time Dependencies .......................................... 7–22
Deleting Jobs ............................................................................... 7–24
Notes on Deleting a Box Job .............................................................. 7–25
Specifying One-Time Job Overrides ........................................................... 7–26
Setting Job Overrides .................................................................... 7–26
Notes on One-Time Overrides ........................................................ 7–27
Deleting One-Time Overrides............................................................. 7–28
Enabled Job Editor Fields for One-Time Overrides .......................................... 7–28
Rule 2 ................................................................................8–2
Rule 3 ................................................................................8–2
Rule 4 ................................................................................8–2
Rule 5 ................................................................................8–3
Rule 6 ................................................................................8–3
Rule 7 ................................................................................8–3
x User Guide
Changing a Job .............................................................................. 8–10
Setting Time Dependencies ................................................................... 8–11
Additional Time Setting Features .......................................................... 8–11
Deleting a Job ............................................................................... 8–12
Contents xi
Date Range Area..................................................................... 9–19
Date Selection Rule Area ............................................................. 9–19
Date Selection Rule Examples ......................................................... 9–20
Using the Rescheduling Rule Area ........................................................ 9–22
Move Direction Area ................................................................. 9–22
To Day Area ........................................................................ 9–23
Rescheduling Rule Example .......................................................... 9–23
Combining Existing Calendars ............................................................... 9–24
Combining Calendars Example ........................................................... 9–24
Using the Job Definition Reference List ........................................................ 9–26
Importing and Exporting Calendars ........................................................... 9–27
Importing Calendar Text Files ............................................................ 9–27
Exporting Calendars ..................................................................... 9–28
Contents xiii
Run Status Tool Menu Bar ........................................................... 11–21
Run Status Tool Display Fields ....................................................... 11–22
Using the Send Event Tool .............................................................. 11–23
Opening the Send Event Tool ........................................................ 11–24
Send Event Tool Menu Bar .......................................................... 11–25
Send Event Tool Fields .............................................................. 11–26
Sending an Event ................................................................... 11–29
Canceling a Sent Event .............................................................. 11–30
Using Scheduler Console Reports ............................................................ 11–32
Using the Job Detail Report Tool ......................................................... 11–32
Job Detail Report Menu Bar .......................................................... 11–33
Setting Scheduler Console Preferences ....................................................... 11–34
Using the General Dialog ................................................................ 11–35
Using the User-Defined Buttons Dialog ................................................... 11–36
Creating Command Buttons ......................................................... 11–36
Using AutoSys-Specific Commands .................................................. 11–37
Using the User Defined Reports Dialog ................................................... 11–38
Creating Reports Menu Items ........................................................ 11–38
Using the Summary Area Layout Dialog .................................................. 11–39
Customizing the Summary Area in the Scheduler Console .............................. 11–39
Customizing the Display with the Summary Area Layout Dialog ........................ 11–40
Sort Key Settings ................................................................... 11–41
Using the Action Area Layout Dialog..................................................... 11–42
Action Area Layout Tool and Action Buttons .......................................... 11–43
Setting the Time Perspective ............................................................. 11–44
Contents xv
Setting Monitor and Report Attributes ....................................................... 13–11
Setting Event Types ..................................................................... 13–11
Setting the Job Selection Criteria ......................................................... 13–13
Setting Monitor Options................................................................. 13–14
Setting the Browser Time Criteria ........................................................ 13–15
Running a Monitor or Generating a Report ................................................... 13–16
Defining Monitors and Reports Using JIL ..................................................... 13–17
Defining Monitors Using JIL ............................................................. 13–18
Contents xvii
Bundled Sybase Backup and Recovery.................................................... 14–41
Configuring a Backup Server ........................................................ 14–42
Backing up the Database to a File ..................................................... 14–43
Recovering a Bundled Sybase Database ............................................... 14–43
Stopping the Event Processor ........................................................ 14–44
Dropping the Damaged Database .................................................... 14–44
Re-Creating the Database ............................................................ 14–44
Reloading the Database ............................................................. 14–45
Restarting the Event Processor ....................................................... 14–45
Contents xix
Remote Agent Troubleshooting .............................................................. 16–15
Remote Agent Verification .............................................................. 16–15
autoping ........................................................................... 16–15
Database Verification ............................................................... 16–15
Remote Agent Will Not Start ............................................................ 16–16
Remote Agent Starts, Command Runs: No RUNNING Event Is Sent ........................ 16–17
xql Will Not Start (Sybase Only) ......................................................... 16–20
Job Failure Troubleshooting ................................................................. 16–21
Remote Agent Will Start: Command Will Not Run ......................................... 16–21
xx User Guide
Unicenter AutoSys JM Connect Cross-Platform Dependency Example .................... A–15
Naming Conventions for Unicenter AutoSys JM Connect Cross-Platform Jobs ................ A–15
Running Jobs on Agents ..................................................................... A–16
Agent Job Names and User IDs ........................................................... A–17
Running Jobs On Agent Managed Machines ............................................... A–17
Defining Agent Machines ................................................................ A–18
Job Definition Examples ............................................................. A–19
Unicenter AutoSys Agent Machine In an Job Definition ..................................... A–20
Log and Trace Information .................................................................. A–20
Unicenter AutoSys JM Connect and Unicenter AutoSys Agent Job Statuses ....................... A–21
Unsupported Attributes for Unicenter AutoSys JM Connect or Unicenter AutoSys Agent Jobs ..... A–22
Cross-Platform Limitations .................................................................. A–23
Contents xxi
Appendix C: General Debugging
Values ...................................................................................... C–1
Introduction
1
This guide is for users responsible for defining jobs to Unicenter AutoSys Job
Management (Unicenter AutoSys JM) and monitoring and managing these jobs.
It assumes familiarity with the operating system on which jobs will be run, and it
assumes that you have already installed and are running Unicenter AutoSys JM
using the procedures described in the Unicenter AutoSys Job Management for
Windows Installation Guide.
Note: In this guide, the term Windows refers to Microsoft Windows operating
systems, Windows NT and higher. Unless specifically designated, Windows
refers to any Microsoft Windows operating system supported by AutoSys.
A job is any single command, executable, script, or Windows batch file. Each job
definition contains a variety of qualifying attributes, including the conditions
specifying when and where a job should be run.
As with most control systems, there are many ways to correctly define and
implement jobs. It is likely that the way you utilize Unicenter AutoSys JM to
address your distributed computing needs will evolve over time. As you become
more familiar with both the features of Unicenter AutoSys JM and the
characteristics of your own jobs, you will also refine your use of Unicenter
AutoSys JM.
However, before you install and use Unicenter AutoSys JM, it is important to
understand the basic system, its components, and how these components work
together.
This chapter provides a brief overview of Unicenter AutoSys JM, its system
architecture, and features.
Introduction 1–1
Related Publications
Related Publications
As you use this Unicenter AutoSys Job Management for Windows User Guide,
you may find it helpful to have these additional books available for reference:
Jobs
In the Unicenter AutoSys JM environment, a job is a single action that can be
performed on a valid client machine. On UNIX, this action can be any single
command or shell script, and on Windows, this action can be any single
command, executable, or batch file. In addition, job definitions include a set of
qualifying attributes.
Defining Jobs
Using utilities, you can define a job by assigning it a name and specifying the
attributes that describe its associated behavior. These specifications make up the
job definition. You can use the following methods to create job definitions:
The GUI allows you to interactively set the attributes that describe when, where,
and how a job should run. You create job definitions using the GUI Control
Panel and the dialogs you can launch from it. The fields in the GUIs correspond
to the JIL subcommands and attributes. In addition, from the GUI Control Panel,
you can open applications that allow you to define calendars, monitors, and
reports, and that allow you to monitor and manage jobs.
JIL is a specification language, with its own syntax, that is used to describe
when, where, and how a job should run. When you enter the jil command, you
get the jil command prompt, at which you can enter the job definitions one line
at a time using this special language. When you exit JIL, the job definition is
loaded into the database. Alternatively, you can enter the definition as a text file
and re-direct the file to the jil command. In this case, the jil command activates
the language processor, interprets the information in the text file, and loads this
information in the database.
Introduction 1–3
System Components
System Components
The following are the main system components:
■ Event processor
■ Remote agent
In addition, Unicenter AutoSys JM provides utilities to help you define, run, and
maintain instances and jobs. The included utilities are platform-specific;
however, all platforms include the GUI components and JIL. Both the GUI and
JIL allow you to define, manage, monitor, and report on jobs.
Event Server
The event server or database (the RDBMS) is the data repository for all system
information and events as well as all job, monitor, and report definitions. Event
server refers to the database where all the information, events, and job
definitions are stored.
Note: The database refers to the specific server instance and the “autosys”
database for that instance. Some utilities, such as isql (Sybase) and ISQL/w
(Microsoft SQL Server), allow you to specify a particular server and database.
For various reasons, database users often run multiple instances of servers that
are unaware of the other servers on the network. When implementing Unicenter
AutoSys JM, the database can run stand-alone for Unicenter AutoSys JM only, or
it can be shared with other applications.
For more information about using dual-event servers, see Dual-event Servers in
the chapter “Introduction” in the Unicenter AutoSys Job Management for
Windows Installation Guide.
Introduction 1–5
System Components
Event processor
The event processor is the heart of Unicenter AutoSys JM; it interprets and
processes all the events it reads from the database. Sometimes called the
event_demon, the event processor is the program, running either as a UNIX
process or as a Windows service that actually runs Unicenter AutoSys JM. It
schedules and starts jobs.
After you start it, the event processor continually scans the database for events to
be processed. When it finds one, it checks whether the event satisfies the starting
conditions for any job in the database.
Based on this information, the event processor first determines what actions are
to be taken, then instructs the appropriate remote agent process to perform the
actions. These actions may be the starting or stopping of jobs, checking for
resources, monitoring existing jobs, or initiating corrective procedures.
Unicenter AutoSys JM lets you set up a second event processor, called the
shadow event processor. This second processor should run on a separate
machine to avoid a single point of failure.
For more information about running a shadow event processor, see Shadow
Event processor in the chapter “Introduction,” in the Unicenter AutoSys Job
Management for Windows Installation Guide.
Remote Agent
The remote agent starts the command specified for a given job, sends running
and completion information about a task to the event server, and then exits. If
the remote agent is unable to transfer the information, it waits and tries again
until it can successfully communicate with the database.
Introduction 1–7
System Components
The following example scenario and the numbered explanations illustrate the
interactions between the event server, the event processor, and remote agents.
Note: Understanding this example will help you answer many questions that
may arise during your experiences with Unicenter AutoSys JM.
PROCESS PROCESS
PROCESS
PROCESS
5 WorkStation_2
PROCESS Windows NT/2000
Command
Event Server 4
• Runs NT/2000
• Events command:
'del C:\tmp\*.*'
• Job Definitions
Local Area • Completes execution
Network and exits with status
Note: In this illistration, the three primary components are shown running on
different machines. Typically, the event processor and the event server run on
the same machine.
Explanation
The following numbered steps explain the interactions in the example scenario:
1. From the event server, the event processor reads a new event, which is a
start job event with a start time condition that has been met. Then the event
processor reads the appropriate job definition from the database and, based
on that definition, determines what action to take. In the example, it runs the
following command on “WorkStation_2”:
del C:\tmp\*.*
3. The remote agent performs resource checks, such as ensuring that the
minimum specified number of processes are available, then “forks” a child
process that will actually run the specified command.
4. The command completes and exits, and the remote agent captures the
command’s exit code.
5. The remote agent communicates the event (exit code, status, and so forth)
directly to the event server. If the database is unavailable for any reason, the
remote agent will go into a wait and resend cycle until it can deliver the
message.
Only two processes need to be running: the event processor and the event server.
When these two components are running, Unicenter AutoSys JM is fully
operational. The remote agent process is started on a client machine once per job.
As soon as the job ends and the remote agent process sends a completion event
to the database, the remote agent exits.
Note: The remote agent is started on the client machine by the event processor
talking to the Remote Agent Service on the client machine. For this to happen,
Remote Agent Service must also be running on the client machine.
Introduction 1–9
Machines
Interface Components
To define, monitor, and report on jobs, you can use either the GUI or JIL. In
addition, the Scheduler Console and its dialogs provide a sophisticated method
of monitoring jobs in real time. This feature lets you view all jobs that are
defined, whether or not they are currently active.
For information on interface components and defining and monitoring jobs, see
the chapters in this guide.
Machines
From a hardware perspective, the architecture is composed of the following two
types of machines attached to a network:
■ Server Machine
The server is the machine on which the event processor or the event server
(database) reside. In a basic configuration, both the event processor and the
event server reside on the same machine.
■ Client Machine
The client is the machine on which the remote agent software resides, and
where jobs are to run. A remote agent must be installed on the server
machine and can also be installed on separate physical client machines.
Instance
An instance is one licensed version of software running as an server with one or
more clients, on a single machine or on multiple machines. An instance is
defined by the instance ID, which is a capitalized three-letter identifier defined
by the AUTOSERV environment variable. An instance uses its own event server
and event processor and operates independently of other instances.
You may want to install multiple instances. For example, you may want to have
one instance for production and another for development. Multiple instances can
run on the same machine, and can schedule jobs on the same machines without
interfering or affecting the other instances.
Events
Unicenter AutoSys JM is completely event-driven; that is, for a job to be
activated by the event processor, an event must occur on which the job depends.
For example, a prerequisite job has completed running successfully or a required
file has been received.
■ Events sent with the sendevent command, sent from the Send Event Tool,
the command line, or user applications.
As each event is processed, the event processor scans the database for jobs that
are dependent on that event in some way. If the event satisfies another job’s
starting condition, that job is either started immediately, or if necessary, queued
for the next qualified and available machine. The completion of one job can
cause another job to be started, and in this way, jobs progress in a controlled
sequence.
Alarms
Alarms are special events that notify operations personnel of situations requiring
their attention. Alarms are integral to the automated use of Unicenter AutoSys
JM. That is, jobs can be scheduled to run based on a number of conditions, but
some facility is necessary for addressing incidents that require manual
intervention. For example, a set of jobs could be dependent on the arrival of a
file, and the file is long overdue. It is important that someone investigate the
situation, make a decision, and resolve the problem.
Introduction 1–11
Utilities
Alarms have special monitoring features to ensure they will be noticed. For more
information about these features, see the chapters “Scheduler Console,”
“Managing Alarms,” and “Monitoring and Reporting on Jobs,” in this guide.
Utilities
To help you define, control, and report on jobs, Unicenter AutoSys JM has its
own specification language called Job Information Language, or JIL, for defining
jobs, machines, monitors, and reports. This language is processed by the jil
command, which reads and interprets the JIL statements that you enter and then
performs the appropriate actions, such as adding a new job definition to the
database.
Unicenter AutoSys JM also provides a set of commands that run essential utility
programs for defining, controlling, and reporting on jobs. For example, the
autorep command allows you to generate a variety of reports about job
execution, and the sendevent command allows you to manually control job
processing.
Basic Functionality
The following figure and the numbered explanations that follow it illustrate how
Unicenter AutoSys JM performs its most basic function—starting a job (that is,
executing a command) on a client machine.
Working through this example will be very helpful for understanding how
Unicenter AutoSys JM processes jobs.
Note: In the following illistration, the major components are shown as separate
entities. Typically, the event processor and the event server are installed on the
same server machine (along with a required remote agent), and other remote
agents are installed on separate client machines.
Event Processor
5
3
1 2
Unicenter
AutoSys JM
Client
Event Server agent
(Database) connect
4
7
Remote Agent
9 6 8
Client Job
Explanation
1. The event processor scans the event server for the next event to process. If no
event is ready, the event processor scans again in 5 seconds.
2. The event processor reads from the event server that an event is ready. If the
event is a STARTJOB event, the job definition and attributes are retrieved
from the event server, including the command and the pointer (full path
name on the client machine) to the profile file to be used for the job. In
addition, for jobs running on Windows machines, the event processor
retrieves from the database the user IDs and passwords required to run the
job on the client machine.
3. The event processor processes the event. If the event is a STARTJOB, the
event processor attempts to establish a connection with the remote agent on
the client machine, and passes the job attributes to the client machine.
Introduction 1–13
Basic Functionality
6. The remote agent starts a process and executes the command in the job
definition.
8. The client job process runs to completion, then returns an exit code to the
remote agent and quits.
If the return status is SUCCESS, the remote agent deletes the log file in its
temporary file directory (usually tmp) on the client machine (if so specified
in the configuration file on UNIX or with the Unicenter AutoSys
Administrator on Windows).
The event processor, which is scanning the event server, sees the process
completion status, determines if there are dependent jobs, and evaluates the rest
of the dependent jobs’ starting conditions. For each job found whose remaining
conditions are satisfied, the event processor sends a STARTJOB command to the
event server, which it will then process in the next cycle.
Extending Functionality
You can extend jobs with the Unicenter AutoSys JM Connect and Unicenter
AutoSys Agent integration components. Using cross-platform job dependency
notation, you can define jobs to conditionally start based on the status of an
Unicenter AutoSys JM Connect job running on a mainframe, and you can define
Unicenter AutoSys JM Connect jobs to conditionally start based on the status of
an job. You can also define jobs that will run on an Unicenter AutoSys Agent
machine, if the Unicenter AutoSys Agent machine is defined to Unicenter
AutoSys JM.
Event Processor
Adapter
asbIII
Application
CCI CCI
Introduction 1–15
Contacting Technical Support
Security
2
To set up Unicenter AutoSys JM correctly, you should understand the security
features that control where and by whom certain secured activities can be edited
or executed. If you are installing on both UNIX and Windows, you must
understand how security is implemented on both systems.
For information about security on UNIX, see the chapter “Security” in the
Unicenter AutoSys Job Management for UNIX User Guide.
Overview
Unicenter AutoSys JM is able to run in either eTrust™ secured mode or native
security mode. External security (eTrust) can be enabled during the installation
of the product, or later on by an authorized EXEC superuser. Once external
security is enabled, the eTrust security package will be called to authorize the
user, and to determine if they can turn off security in the product.
For more information on enabling eTrust security, see Security Control, in this
chapter.
For more information on controlling the security setting with the Unicenter
AutoSys Secure utility, see autosys_secure in the Unicenter AutoSys Job
Management for UNIX and Windows Reference Guide.
Security 2–1
Native Security
Native Security
Unicenter AutoSys JM native security includes the following:
■ Job-level security
■ Superuser privileges
■ System-level security
■ UNIX and Windows file permissions (See Restricting Access to Jobs in this
chapter.)
Security is initiated when either a user sends events that affect the running of a
job or the event processor sends events that affect a job.
By using the sendevent command or the Send Event dialog, you can send
execute events that affect the running of a job. These are the execute events that
you can send, if you have the appropriate permissions:
Security Events
CHANGE_PRIORITY JOB_ON_HOLD
CHANGE_STATUS JOB_ON_ICE
DELETEJOB KILLJOB
FORCE_STARTJOB SEND_SIGNAL
JOB_OFF_HOLD STARTJOB
JOB_OFF_ICE
If you start a job by sending an event, the job permissions are checked as shown
in the following figure.
The previous figure shows how Unicenter AutoSys JM checks for the following
when a user starts a job by sending an event:
1. Checks the database to determine if the job definition was tampered with. If
so, the job definition is invalid, and the job is not run.
2. Does the user match the owner as indicated in the job definition?
Security 2–3
Native Security
4. Does the user have job execute permissions as indicated in the job definition?
5. Is there a machine name in the owner value of the job definition? The edit
superuser can remove this portion of the owner.
6. Does the machine portion of the user logon match the job owner machine
portion?
7. Does the job have machine permission as indicated by the job definition?
In addition to sending execute events on jobs, you can schedule jobs to start at
certain times or under certain conditions. When a job is scheduled to start
automatically, permissions are checked on the remote agent machine on which
the job is to run.
The event processor scans the event server for any jobs with starting conditions
that have been met. When the starting conditions for a job are met, the event
processor sends a STARTJOB event to the designated remote agent machine.
The following figure shows the permissions and security checks that occur on a
UNIX machine before a job is allowed to start on the machine.
Note: In the figure, an asterisk indicates checks that are made only if the specific
method of remote authentication is enabled (see Remote Agent Authentication in
this chapter).
Security 2–5
Native Security
The previous figure shows how Unicenter AutoSys JM checks for the following
when the event processor sends a STARTJOB event to a remote agent machine:
1. Checks the database to determine if the job definition was tampered with. If
so, the job definition is invalid, and the job is not run.
2. Checks the DES encrypted job definition to determine if the event processor
can connect to the remote agent machine.
3. Does the user who is defined as the job owner (user@machine) have a logon
account on the remote agent machine?
4. If user authentication is enabled, is the user a trusted user (as defined in the
/etc/hosts.equiv and $HOME/.rhosts files)?
Note: The edit superuser can enable remote authentication by using the
autosys_secure utility.
System-Level Security
The security scheme prevents unauthorized access to facilities, which in turn
prevents unauthorized access to jobs. The following features handle system
security:
Note: On UNIX, the database field and control string encryption features
provide a level of security comparable to the security provided in the native
UNIX environment.
To secure the database, Unicenter AutoSys JM not only encrypts some fields
specified in a job definition, but also generates a checksum from fields in the job
definition, and stores the checksum in the database. Whenever a job is accessed,
its checksum is regenerated and compared to the one in the database. If the
checksums are different, this indicates that someone tampered with the job
definition in the database, probably by using an SQL command. In this case, the
job is disabled and cannot be executed.
To re-enable a disabled job, the owner or the edit superuser must access the
definition and re-save it, by using either the JIL update_job sub-command or the
Job Definition dialog.
To secure the remote agent from unauthorized access, the event processor
encrypts the information in a job definition sent over the socket to the remote
agent. The remote agent then decrypts the job information and continues to
process the job. If the remote agent receives any job information from the event
processor that it does not recognize, it issues an error message and will not
process the job.
Security 2–7
System-Level Security
■ User authentication
User Authentication
The hosts.equiv or .rhosts file entries must match the job owner and machine
name field exactly. For example, if the owner is tarzan@jungle, the hosts.equiv or
.rhosts file must contain “jungle.” Similarly, if the owner is
[email protected], the hosts.equiv or .rhosts file must contain
“jungle.vine.com.” If they do not match, jobs will fail to run on that machine
when ruserok() remote authentication is in use.
When event processor authentication is enabled, the remote agent verifies that it
has permission to process requests from the requesting event processor before
starting each job. It does this by reading the /etc/.autostuff file on the machine
on which the remote agent is running. For information on enabling event
processor authentication, see autosys_secure in the chapter “Commands” in the
Unicenter AutoSys Job Management for Windows and UNIX Reference Guide.
Note: Before enabling event processor authentication, you must set up and
properly configure the /etc/.autostuff file on every client machine that will
participate in this authentication method, as described in Configuring Remote
Authentication in the chapter “Configuring,” in this guide.
When you install with bundled Sybase, the database system administrator ID is
“sa,” and the password is “sysadmin.” To enhance security, we recommend that
you change the system administrator password by using the xql utility.
You must supply the “autosys” and “sa” user IDs and passwords when you use
several utilities. For example, when using the xql utility to query the database,
you must know both the “autosys” user password and the “sa” system
administrator password.
Security 2–9
Job-Level Security
Job-Level Security
The security scheme provides individuals and groups of users with edit and
execute permissions on a job-by-job basis. For jobs running on UNIX, Unicenter
AutoSys JM supports owner, group, and world edit and execute permissions.
For jobs running on Windows, Unicenter AutoSys JM supports owner and world
edit and execute permissions.
By default, only the user logged on as the owner of a job can edit or execute a
job. The owner can extend permissions to other users and other machines, as
described in the following sections.
Job Ownership
By default, the owner of an job is the user who defines that job on a particular
machine. When a user defines a job on UNIX, the user ID is retrieved from the
UNIX environment and attached to the job in the form of user@machine. The
owner is defined by the owner job attribute. By default, only the owner can edit
and execute the job.
The user@machine combination must have execute permission for any command
specified in a job on the machine where the job command is to run. The job
owner must also have permission to access any device, resource, and so forth
that the command needs to access. For this process to work, the job owner must
have the appropriate system permissions.
The owner’s umask “write” permission is used as the default “edit” permission
of the job, and the umask “execute” permission is used as the default “execute”
permission of the job.
If a job is run on a Windows client machine, the edit superuser must have
entered the valid Windows user ID and password for the owner into the
database. For more information about the edit superuser, see Edit Superuser in
this chapter.
User Types
Like UNIX, Unicenter AutoSys JM uses the notion of these three types of users
for any job:
Owner
The user who created the job.
Group
Any user who is in the same primary group as the owner.
World
Every user.
Unicenter AutoSys JM uses the UNIX user ID (uid) and group ID (gid) of a job’s
owner to control the following:
The owner of a job can allow other users to edit and execute the job by setting the
permissions in the job definition (discussed in the following section).
Permission Types
By default, only the owner has edit and execute permissions on a job, and all edit
and execute permissions are valid only on the machine on which the job was
defined. However, the owner can grant different types of permissions when
defining a job.
Edit
Users can edit, override, or delete a job definition.
Execute
Users can send an execute event that affects the running of a job by using the
sendevent command or the Send Event dialog. For a list of the execute
events that users can send, see Security On Events Sent By Users in this
chapter.
Security 2–11
Job-Level Security
Machine
Users logged onto a machine other than the one on which a job was created
can edit or execute the job.
Note: In order for a job to run on a machine other than the one on which the job
was defined, the owner of that job must have an account on that machine.
Granting Permissions
The owner of a job cannot override his or her ownership designation; only the
edit superuser has the authority to change the owner job attribute. However, the
owner can grant other users edit and execute permissions for a job by using the
GUI or JIL to set the permission job attribute in the job definition.
The following table shows the permissions that you can set by using JIL or the
Permission toggle buttons on the Job Definitions Advanced Features dialog.
All Hosts Edit m Users, regardless of the machine logged onto, can
e edit the job (otherwise, the user must be logged
onto the machine specified in the owner attribute,
that is, user@machine).
World Execute w Users can execute the job if logged onto the machine
x where the job was created (the machine specified in
the owner attribute, that is, user@machine).
Note: A job and the command it executes will always run as the user specified in
the owner attribute of the job definition. Execute permissions determine who can
execute events against the job, but not who the job runs as. Even if World
Execute permissions are granted, the job will still run as the user.
If you are defining jobs and running them on different operating systems, keep
the following in mind:
■ When defining a job to run on a Windows machine, you can set group
permissions, but they will be ignored. Group permissions will be used if a
job is edited or executed on a UNIX machine.
■ When editing a job from a Windows machine, the group edit permission is
ignored. In this case, the user editing the job must be the owner of the job, or
World Edit permissions must be specified for the job.
Security Control
Security 2–13
Superuser Privileges
Superuser Privileges
Unicenter AutoSys JM provides you the ability to create more than one EDIT or
EXEC Super User. You can define these superusers by using the autosys_secure
command. For information about defining the edit and exec superusers, see the
chapters “Server Installation for Sybase” or “Server Installation for Oracle” in the
Unicenter AutoSys Job Management for UNIX Installation Guide.
Edit Superuser
The edit superuser can override user authentication (if enabled) on a job-by-job
basis by changing the owner of the job from the form user@machine to the form
user. User authentication of the job at execution time is not performed on the
client machine. For more information about changing the job owner, see owner
attribute in the chapter “JIL/GUI Job Definitions” in the Unicenter AutoSys Job
Management Reference Guide.
Note: The purpose of the user@machine form is to prevent users from running
jobs on machines where they do not have the appropriate permission. For
example, root@machine prevents root on any machine from running root jobs on
all machines.
The edit superuser must enter valid Windows user IDs and passwords into the
database. These user IDs and passwords are required to log onto and run jobs on
Windows client machines. When a remote agent runs a job on a machine, it logs
on as the user defined in the owner attribute for the job. To do this, the event
processor retrieves encrypted versions of the IDs and passwords for the
user@host_or_domain and the user@machine from the event server and passes
them to the remote agent. For information about entering and changing
Windows user IDs and passwords, see autosys_secure in the chapter
“Commands” in the Unicenter AutoSys Job Management for Windows and
UNIX Reference Guide.
Note: Any user who knows an existing user ID and password can change that
password or delete that user and password.
Exec Superuser
■ Issue commands that affect the running or the state of any job, either using
the sendevent command or the Send Event dialog.
Note: Exec superuser privileges are usually granted to the night operator.
Security 2–15
Restricting Access to Jobs
First, you must ensure that only authorized users can change permissions on the
files and directories in the directory structure.
Then, you should determine what level of security you want, for example:
■ Any user can view jobs and reports about jobs, such as using autorep to see
the status of a job, but only authorized users can create jobs and calendars or
make changes to them.
If you want only authorized users to access Unicenter AutoSys JM, ensure that
only those users have execute permissions on the files in the bin directory.
If you want all users to view reports about jobs, but only authorized users to
create and edit jobs and calendars, ensure that the following files in the
%AUTOSYS%/bin directory are executable only by the authorized users. This
will also prevent unauthorized users from making changes to the configuration.
clean_files jobscape*
Note: An asterisk (*) indicates files that can be executable by all users as long as
sendevent and jil are not executable. This allows users to use the GUI to view job
states, but does not allow them to add new jobs or calendars or start jobs (even if
the job has world execute permissions).
You should also protect the files in the %AUTOUSER% directory from
modification by ensuring that only users authorized to change the configuration
have write permission on the files. Read permission is necessary to source the
environment files.
In the auto.profile file for the remote agent machine, you can specify a list of
users whose jobs are prohibited from running on that machine. For information
on this, see Client-Side Security in the chapter “Configuring,” in this guide.
Since the event processor and remote agent will not enforce security, policy
changes will not affect resources which were entered into the database. For
example; if the security administrator withdraws a users permission to create
jobs, Unicenter AutoSys JM will continue to run jobs created by the user before
the change.
If you turn on eTrust AC security, the job-level security and superuser security
supported in native mode will no longer be adhered to.
Security 2–17
eTrust Access Control
When you are ready to establish your security word, run autosys_secure as a
user and from a host that are authorized to administer the eTrust pmdb. Choose
menu item 7 followed by item 2. You will be prompted for your security word.
The only time you will ever be prompted for this word again is if you decide to
change your security word.
If you have reason to believe that your security word has been compromised,
you should change it using autosys_secure. With that information it would be
possible for a malicious user to setup a local eTrust policy and circumvent
Unicenter AutoSys JM security.
The security word you provide is stored in the Unicenter AutoSys JM database
and the eTrust database. Before checking security, all secured Unicenter AutoSys
JM executables will read the security word from the Unicenter AutoSys JM
database and compare it to the security word in the eTrust database. It will only
be present in eTrust if the local installation is a valid subscriber to the enterprise
security policy. If there are problems verifying the security word, access to
secured assets will be denied.
Note: The eTrust AC audit log may have failed to check the security word
resource each time you run a secured binary. This is expected behavior. If you
would rather not see these failures, you can do one of two things.
■ You can create a filter that will not include these entries. For more
information see the section Audit Filters in the eTrust Access Control
Administrator Guide.
■ You can change your user resources so that these failures will not be logged.
By default, all users are configured to cause log entries to be generated on
access failures (regardless of which resource the failure occurred with).
However, the security word resource has been created to not cause log
entries to be generated on failure (since that is expected behavior in this
case). You can change (or create) your users to not create an audit log entry
when a failure occurs. This leaves it up to the individual resources to create
failure entries in the audit log (the default behavior for resources). You can
change the audit rules using either selang or the Policy Manager GUI. For
more information on configuring audit rules see the eTrust Access Control
Administrator Guide.
Policy Manager
All modifications to security access of any Unicenter AutoSys resource can easily
be done through the eTrust Policy Manager on Windows. You can also modify
security access using the selang command line utility. For more information on
selang, see the eTrust Access Control for UNIX Reference Guide. The eTrust
Policy Manager allows you to modify and set security levels for all user-defined
classes provided by Unicenter AutoSys JM.
Security Access
5. Check the Connect to PMDB check-box and enter autosys as the PMDB
name.
Security 2–19
eTrust Access Control
7. Once connected, click Resources in the left program bar Access Control.
Selecting a class will list the available policies governing access to a specific
resource.
Disable Security
To access Disable Security use the autosys_secure command.
For more information about autosys_secure, see the Unicenter AutoSys Job
Management for Windows and UNIX Reference Guide.
If eTrust security has been enabled through autosys_secure, the user will be
prevented from using the Windows Service Control Manager to stop the Event
Processor Service by default. The user must use the AutoSys Administrator tool
or the “sendevent –e STOP_DEMON” command to stop the Event Processor
Service. Alternatively, if control of the Event Processor Service through the
Service Control Manager is desired, then the service must be configured to log
on as a certain user. In all cases, an eTrust security call will be issued to see if the
user in question has been given as-control/STOP_DEMON execute rights to shut
down the Event Processor Service.
Access to shutting down the event demon can be restricted through the eTrust
Policy Manager by setting access to the STOP_DEMON resource in the as-control
class. Doing this will prevent users from using the sendevent command, or the
Administrator tool to stop the event demon.
Asset-Level Security
For more information on eTrust Access Control see the eTrust Access Control for
UNIX User guide.
Since the event processor and remote agent will not enforce security, policy
changes will not affect resources which were entered into the database under the
previous policy. For example, if the security administrator withdraws a user’s
permission to create jobs, Unicenter AutoSys JM will continue to run jobs the
user created before the change.
During the installation of eTrust AC, a Local Policy Model Database (PMDB)
was created called autosys, on what will be considered the master security
server. On the master security server, eTrust AC will subscribe a client
subscriber to the autosys PMDB. The install will ask for the users that will be
defined as administrators to the eTrust database, but will not import existing OS
users into the eTrust AC database.
Security 2–21
eTrust Access Control
For example, you might want to create a user 'Administrator' that you will allow
to administer the 'autosys' PMDB from a Windows machine. If you create the
user as 'administrator' (lowercase 'a') and then try to run the policy manager
from a Windows box where you are logged in as 'Administrator' you will be
denied access. This can be confusing because Windows will let you login to the
'Administrator' account as 'administrator'. The key is that the user in the PMDB
must follow the case as it is preserved on the Windows machine.
For more information on enabling security see Security control, in this chapter.
To secure the product, a set of classes will be defined that pertain to Unicenter
AutoSys JM. These classes are used to control access to jobs, calendars, cycles,
machines, global variables, and the owner field of a job. There are also classes to
prevent unauthorized users from starting or shutting down Unicenter AutoSys
JM, disabling security, and to prevent unauthorized users from accessing
Unicenter AutoSys JM Web Interface.
Unicenter AutoSys JM will use the following eTrust User Defined Classes. These
classes will be created in the eTrust database and the PMDB autosys. The classes
are eTrust enabled and will make security call outs prior to performing an action
on a specified object.
as-job as-calendar as-machine
as-view as-list
The name of each eTrust resource will be the name of the corresponding AutoSys
object, a period, and the name of the instance.
Note: The security administrator must use the object. instance convention when
creating policies. You may use wild cards to create policies which apply to
multiple objects among different instances.
For more information on Resource Classes, see the eTrust Access Control for
UNIX Reference Guide.
Unicenter AutoSys JM will utilize the following access modes on each of the
various resource classes. The use of these access modes is explained in more
detail with the description of each class.
■ READ
■ CREATE
■ DELETE
■ EXECUTE
■ WRITE
as-job Class
The as-job class will control access to job objects. All of the eTrust access modes
will be applied to this object.
READ
Prevents users from being able to view jobs or their contents.
Binary Security Checkpoints
autocons.exe If as-list\AUTOCONS denied
autostatus.exe -J job
Security 2–23
eTrust Access Control
CREATE
Prevents users from creating a job object.
Binary Security Checkpoints
jil.exe update_job
DELETE
Prevents users from deleting jobs, including deleting the job using the
sendevent command.
Binary Security Checkpoints
jil.exe delete_job
sendevent.exe -e DELETEJOB
EXECUTE
Controls whether a user is allowed to issue a sendevent against the job
object.
Binary Security Checkpoints
sendevent -e STARTJOB
-e KILLJOB
-e FORCE_STARTJOB
-e JOB_ON_ICE
-e JOB_OFF_ICE
-e JOB_ON_HOLD
-e JOB_OFF_HOLD
-e COMMENT (not global)
WRITE
Prevents unauthorized users from updating an existing job object.
Binary Security Checkpoints
jil.exe insert_job
sendevent -e CHANGE_PRIORITY
as-calendar Class
READ
Prevents users from being able to view calendars or their contents.
Binary Security Checkpoints
autocal.exe If as-list\AUTOCAL denied,
otherwise File- open
autocal_asc.exe PRINT
CREATE
Prevents users from creating a calendar object.
Binary Security Checkpoints
autocal.exe File - save
DELETE
Prevents users from deleting a calendar.
Binary Security Checkpoints
autocal.exe File – delete
autocal_asc.exe DELETE
EXECUTE
Controls whether a user is allowed to specify the given calendar to run or to
exclude within a job object.
Binary Security Checkpoints
jil.exe run_calendar, exclude_calendar
WRITE
Prevents unauthorized users from updating existing calendar objects.
Binary Security Checkpoints
autocal.exe File – save as
Security 2–25
eTrust Access Control
as-machine Class
The as-machine class will control access to machine objects. This will control
who can do what to the machine object including whether or not it can be used
by a user in a job definition. All of the eTrust access modes will be applied to this
object.
READ
Prevents users from being able to view machines or their contents.
Binary Security Checkpoints
autorep.exe If as-list\AUTOREP denied,
otherwise –m machine
CREATE
Prevents users from creating machine objects.
Binary Security Checkpoints
jil.exe insert_machine
DELETE
Prevents users from deleting machine objects.
Binary Security Checkpoints
jil.exe delete_machine
EXECUTE
Unless authorized, EXEC controls whether a user is allowed to specify that
machine inside a job object.
Binary Security Checkpoints
jil.exe machine
sendevent -e STARTJOB
-e KILLJOB
-e FORCE_STARTJOB
-e JOB_ON_ICE
-e JOB_OFF_ICE
-e JOB_ON_HOLD
-e JOB_OFF_HOLD
-e COMMENT (not global)
WRITE
Prevents unauthorized users from updating existing machine objects.
Security 2–27
eTrust Access Control
as-gvar Class
The as-gvar class will control access to global variable objects. Since this object is
only controlled through the sendevent binary, the access modes will be checked
during sendevent execution. All of the eTrust access modes will be applied to
this object.
READ
Prevents users from being able to view specific global variable objects.
Binary Security Checkpoints
autorep.exe -g variable
autostatus.exe -g variable
CREATE
Prevents users from creating specific global variable objects.
Binary Security Checkpoints
sendevent.exe -g (new variable)
DELETE
Prevents users from deleting specific global variable objects.
Binary Security Checkpoints
sendevent -g variable=DELETE
EXECUTE
Prevents users from using sendevent all together against global variables.
Binary Security Checkpoints
sendevent -e SET_GLOBAL, all-g options
WRITE
Prevents unauthorized users from updating an existing specific global
variable objects.
Binary Security Checkpoints
sendevent -g (existing variable)
as-owner Class
The as-owner class will control access to the job owner field in the job object.
This will be used to control what owner can be specified in a job definition. For
example, when a new job is created, by default the user-id of the job creator is
automatically used. However, when a different user is to be used, security will
be called to determine if the owner specified is allowed to be used by the current
user.
EXECUTE
Prevents users from using unauthorized user-id’s.
Binary Security Checkpoints
jil.exe owner
Security 2–29
eTrust Access Control
as-control Class
The as-control class will control access to critical services within Unicenter
AutoSys JM.
EXECUTE
Control critical resources through the following:
Binary Security Checkpoints
sendevent.exe -e STOP_DEMON
STOP_DEMON
Controls who can stop the event processor. Applies to both the
sendevent command, and the service control manager on Windows.
Note: If eTrust security has been enabled then by default, the user
will be prevented from stopping the event processor from the Service
Control Manager and can only use sendevent.
Binary Security Checkpoints
autosysadmin.exe Services screen, Event Processor, Stop Button
SECADM
For Internal Use only.
WEBLOG
For Internal Use only.
WEBADM
For Internal Use only.
as-view Class
The as-view class will control access to the various views defined in the
Unicenter AutoSys JM Web Interface GUIs, including preventing graphical
representations of certain jobs.
Note: For performance reasons, it is not feasible to call security for each
individual object that is to be displayed on the web browser.
READ
Prevents users from being able to bring up a particular view, preventing
access to jobs they are not authorized to see.
CREATE
Prevents users from creating views defined and maintained by Unicenter
AutoSys JM Web Interface.
DELETE
Prevents users from deleting views defined and maintained by Unicenter
AutoSys JM Web Interface.
WRITE
Prevents unauthorized users from updating views defined and maintained
by Unicenter AutoSys JM Web Interface.
as-list Class
The as-list class will control telling programs to bypass security for read only
operation, as in autocons or autorep, where the information displayed does not
constitute a security violation.
Notes:
By using the default of this class Unicenter AutoSys JM will not incur the
tremendous overhead of issuing a security call for each individual line item
displayed.
This class is provided for those users that do not believe that status or report
type functions that do not display the detail of the asset warrant a security call
on each object.
Security 2–31
eTrust Access Control
READ
Control security bypass through the following:
AUTOREP
Controls read access for the autorep program. This value will
ignored for any autorep report that specifies the –q option.
Binary Security Checkpoints
autorep.exe -m ALL
-J ALL
-J box
-g ALL
AUTOCONS
Controls read access to the console type programs including the
Unicenter AutoSys JM Web Interface GUI.
Binary Security Checkpoints
autocons.exe on refresh, select filter from dropdown list
AUTOCAL
Controls read access within the Calendar Definition GUI.
Binary Security Checkpoints
autocal.exe File – open search
File – delete search
cal dropdown listbox
AUTOSTAT
Controls read access to ????
Binary Security Checkpoints
autostatad.exe -J %
MONBRO
Controls read access to the monitor/browser GUI.
JOBDEP
Controls read access to the job_depends GUI.
Binary Security Checkpoints
Example 1
If read access to the autocons resource belonging to the as-list class has been
granted to the Unicenter AutoSys JM instance, then the individual read access
checks for each job is ignored and the entire list of jobs is displayed.
To disable list access for autocons, open the eTrust Policy Manager to the as-list
class, and select AUTOCONS*.
Note: The owner of the AUTOCONS* resource has been set to nobody. This
is necessary as all security checks will automatically pass if called by the
owner.
Before re-launching autocons, read access to the job ‘goodtest’ will be disabled.
From the Policy Manager a resource has now been created for any job beginning
with good. All access has been disabled for these jobs.
Now when autocons starts up, a warning message will be displayed indicating
that as-list access failed, and a read access check will be performed for each job
before displaying it.
Note: The resource that Unicenter AutoSys JM used to check for read access
is AUTOCONS.INSTANCE.
Since read access was denied for all jobs beginning with good, the job goodtest
no longer appears in the display list.
As eTrust access rights are changed, autocons will update the display
accordingly during the refresh cycle.
Security 2–33
eTrust Access Control
Example 2
First list access will be checked for the AUTOREP resource in the as-list class. If
access is granted the requested jobs will be reported without performing read
access checks.
However, if list access has been denied, then read access checks will be
performed for each job before displaying job information.
Notes:
If a job in a box fails read access, but the box passes read access, the failed job
will not be displayed.
If a box job fails read access none of the jobs within the box, and the box will not
be displayed.
This section walks through the logical flow of creating, updating, and deleting
an object.
Creating an Object
The following represents a logical flow for the creation of any object:
1. Call security to validate user has authority to assign the object in the
specified security group by calling security with execute permission on the
security group.
2. Call security to validate user can create the object by passing in the security
group name and specifying create authority.
3. For Job objects only — call security again and validate the owner field using
an asset of as-owner and a permission of execute.
4. For Job only — call security passing in the security group of the machine
with an execute permission if that machine can be used.
Updating an Object
1. Call security to validate user has authority to update objects in the security
group using the original security group of the object.
2. If the security group is being modified, call security to ensure that the user
has update authority to objects in the security group.
3. For Jobs only — Call security on the owner field and machine field as if on a
create object.
Deleting an Object
Call security to validate user authority to delete objects from the specified
security group.
Security 2–35
Chapter
Jobs
3
All activity controlled by Unicenter AutoSys JM is based on jobs. Other objects,
such as Monitors, Browsers (Reports), and the Operator Console, serve to track
job progress. A job is the basic building block upon which the entire operations
cycle is built.
A job is any single command or executable, UNIX shell script, or Windows batch
file. Each job definition contains a variety of qualifying attributes, including the
conditions specifying when and where a job should be run.
As with most control systems, there are many ways to correctly define and
implement jobs. It is likely that the way you utilize Unicenter AutoSys JM to
address your distributed computing needs will evolve over time. As you become
more familiar with both the features of and the characteristics of your own jobs,
you will also refine your use of Unicenter AutoSys JM.
Note: Before continuing with this chapter, read the chapter “Maintaining ,” for
details on starting the event processor, which must be running before you start
any processes.
Jobs 3–1
Job Types and Structure
Job
Name
Starting Conditions
Depends On
Definition
Alarm
Basic Job Restart Conditions
Information
Current Status
Start time
Current State End Time
Exit code
File Watcher
Job
Types Command File Name Box Container
Minimum File size
Command to execute Watch Interval
File to source
Machine to run on
Standard output files
Standard input file
As their names imply, command jobs execute commands, box jobs are
containers, which hold other jobs (including other boxes), and file watcher jobs
watch for the arrival of a specified file.
In the previous figure, the attributes listed inside the Job region comprise what is
called the basic job information and are common to all jobs regardless of type.
These attributes include the identifier name, the starting conditions, any
specified alarms, the restart conditions, and a variety of other settings not shown
(such as the box, if any, the job is in).
Notice that a job’s starting conditions can be contingent on the date, time, and
the status of any other job.
Command Jobs
The command job is commonly thought of (and referred to) as “a job.” The
command can be a shell script, an executable program, a file transfer, and so
forth. When this type of job is run, the result is the execution of a specified
command on a client machine. When all the starting conditions are met,
Unicenter AutoSys JM runs this command and captures its exit code upon
completion. The exit event (either SUCCESS or FAILURE) and the exit code
value are stored in the database.
■ Resource Criteria
Unicenter AutoSys JM will check that a certain amount of free file space is
available before starting a process. If it is not available, an alarm is sent and
the job is rescheduled to start after a suitable delay.
■ Profile Script
For each job, you can specify a script to be sourced before the execution of
the command that defines the environment in which the command is to be
run. All commands are run under the Bourne shell (/bin/sh). Therefore, all
statements in the profile must use /bin/sh syntax.
For each job, you can specify the standard input, standard output, and
standard error files. To do this, use the JIL std_* commands, or use the Job
Definition Advanced Features dialog.
Box Jobs
In the environment, the box job (or box) is a container of other jobs. A box job can
be used to organize and control process flow. The box itself performs no actions,
although it can trigger other jobs to run. An important feature of this type of job
is that boxes can be put inside of other boxes. When this is done, jobs related by
like starting conditions (not by similar application types) can be grouped and
operated on in a logical way.
Jobs 3–3
Job Types and Structure
Note: Box jobs are very powerful tools for organizing, managing, and
administering large numbers of jobs that have similar starting conditions or have
complex logic flows. Knowing how and when to use boxes is often the result of
some experimentation.
If no other starting conditions are specified at the job level, a job within a box
will run as soon as the starting conditions for the box are satisfied. If several jobs
in a box do not have job-level starting conditions, they will all run in parallel.
Each time any job in a box changes state; the other jobs are checked to see if they
are eligible to start running.
If jobs in a box have a priority attribute setting, they will be processed in order of
priority, highest to lowest.
Jobs inside of boxes will be run only once per box execution. If you do specify
multiple start times for a job during one box processing cycle, only the first start
time will be used. This prevents jobs in boxes from inadvertently running
multiple times.
Unicenter AutoSys JM starts a job if the current time matches, or is later than, the
start time. In addition to explicit starting conditions, jobs inside of boxes have the
following implicit condition: the box job itself is running. This means that jobs
inside of a box will start only if the box job itself is running. However, if a job
inside a box starts and the box job is stopped, the started job runs to completion.
Note: Some caution must be exercised when placing a job with more than one
time-related starting condition in a box. For example, a job that runs at 15 and 45
minutes past the hour is placed in a box that runs every hour. The first time the
box starts; the job runs at 15 minutes past the hour. A future start is then issued
for 45 minutes past the hour, by which time the box has completed. As a result,
the job will not run until the box is running again at the top of the next hour. At
that time, the job runs as soon as the box starts because it is past the start time.
The job runs, another future start job is issued for 15 minutes past the hour, the
box completes, and the cycle repeats itself.
Using file watcher jobs provides a means of integrating events that are external
to Unicenter AutoSys JM into the processing conditions of jobs. For example, a
file needs to be downloaded from a mainframe, and it is expected to arrive after
2:00 a.m. After it arrives, a batch job is to be run to process it, possibly even
starting a whole sequence of jobs.
You could set up a file watcher job to start at 2:00 a.m. wait for the arrival of the
specified file, and then exit. You could also set up the batch job so that the
completion of the file watcher job is its only starting condition.
Jobs 3–5
Job Profiles
Job Profiles
Before running a command job, the remote agent sets the assigned Job Profile on
the job’s target machine. A job profile defines the appropriate non-system
environment variables for the job.
You can use the Job Profiles Manager to define a profile that contains the
environment variables that must be set for a specific job to run. Then, using the
profile attribute or the Job Environment Profile field (in the Job Editor
Resource/Profile tab), you can assign that profile to a job, or to multiple jobs.
The remote agent on a machine first sets the environment variables for the job’s
execution, and then it sets the specified job profile variables. Only one job profile
can be sourced for a job, and the environment variables are set before the profile
variables. Therefore, you can reference system environment variables in job
profiles. However, if a variable is set more than once, the last one read is the one
used.
After setting the environment variables, the remote agent searches for the
assigned profile. By default, the remote agent searches for the profile on the
machine on which the command is to run. However, when assigning the job
profile, you can specify both the machine name and profile name, which allows
you to run the job on one machine while using a job profile defined on another
machine. These profiles are however instance-specific; you cannot assign a
profile that is defined in one instance to a job that is defined in another.
Since only one profile is sourced before a command job is run, you must define
all of the environment variables needed to run a job in its assigned profile. If you
do not assign a profile job attribute in the job definition, the remote agent uses
the DEFAULT job profile.
While AutoSys supplies a DEFAULT job profile, it does not define any
environment variables in it. You must define your own DEFAULT profile using
the Job Profiles Manager.
In addition, when the remote agent reads the profile, the environment variables
in a profile are expanded. For example, if “Path” is a variable in the specified
profile, Unicenter AutoSys JM will expand any environment variables specified
as the value of Path, use this path to search for the command, and set the new
value for the %Path% variable before executing the command. You can specify
the full path name, in which case, variables set from the job profile can be used
in the path name specification. Note however that the profile variables are read
in alphabetical order. Therefore, if you plan on expanding variables within the
profile itself, the variables must be defined so that they are in the appropriate
order when read alphabetically.
For more information about the profile attribute, see profile in the chapter
“JIL/GUI Job Definitions,” in the Unicenter AutoSys Job Management for
Windows and UNIX Reference Guide.
Jobs 3–7
Job Profiles
The Job Profiles manager allows you to create, delete, and edit job profiles.
Open the AutoSys Instance Job Profile Management icon from the program
group. The Profiles Manager appears.
At the top of the Job Profiles Manager is the Host Name field. By default, the Job
Profiles Manager uses the machine that you are logged on to as the Host Name.
You can also connect to any host machine and view the profiles defined there,
and if you have “Administrator” group privileges and Registry edit privileges,
you can create, delete, and edit the profiles on the specified host machine.
The Profile Name field lets you specify a profile. To view all existing profiles on
this current host, click the down arrow to the right of this field. To define a new
profile, type in a new name into this field.
When you select a profile, its current settings appear in the Environment
Variables display area. You cannot edit a variable directly in this display area.
However, you can double-click on a variable setting, and it will be placed in the
Variable and Value fields at the bottom of the Profiles Manager. Then, you can
make the following changes to the settings in these fields.
Note: The capitalization of the variable definitions does not matter on Windows.
However, the Job Profiles Manager does replicate, in the Job Profile itself, the
capitalization that you enter in the Variable and Value fields.
1. In the Variable field, enter a variable name. You can enter a new variable or
an existing one.
2. Tab to or click the mouse button in the Value field and enter a value for the
variable.
3. Click Set to enter the variable definition. When you do this, the new or
changed variable appears in the Environment Variable display area.
Note: Variable settings are also saved when you change to a new profile, by
selecting the new profile in the Profile Name field.
6. To cancel the changes, click Cancel in the upper-right corner of the Job
Profiles Manager. This action exits the Job Profiles Manager without
updating the current profile.
Note: When adding new profiles, you must either define the profile on the
machine where the command will run or specify the computer name (on
which the profile is defined) with the profile name when you are defining
the Job Environment Profile or the profile attribute. If you do not use one of
these approaches, you will get a “Profile not found” error when starting the
job.
For more information about specifying the profile attribute, see profile in the
chapter “JIL/GUI Job Definitions,” in the Unicenter AutoSys Job
Management for Windows and UNIX Reference Guide.
Jobs 3–9
Job Profiles
2. Click Delete. This action immediately deletes the variable from the profile,
and no confirmation is required.
Delete a Profile:
Note: You cannot delete the DEFAULT profile. However, you can delete the
variables in the DEFAULT profile.
Note: The owner attribute is required for all job types, but is automatically
assigned.
The basic command job definition has the following required attributes:
Job Name
The unique job identifier by which a job is referenced.
Command
The UNIX shell script, command, or application program to be executed.
Machine Name
The name of the machine on which the command is to be run.
Starting Conditions
The date/time or job dependency conditions necessary for the job to be run.
(Strictly speaking, this is not required, such as in cases where a job will
always be started manually.)
The basic file watcher job definition has the following required attributes:
Job Name
The unique job identifier by which a job is referenced.
Machine Name
The name of the machine on which the command is to be run.
Starting Conditions
The date/time or job status conditions necessary for the job to be run.
(Strictly speaking, this is not required, such as in cases where a job will
always be started manually.)
Jobs 3–11
Basic Job Attributes
The basic box job definition has the following required attributes:
Box Name
The unique job identifier by which the box is referenced. This name is used
by other jobs as the name of their parent box.
Starting Conditions
The date/time or job status conditions necessary for the job to be run.
(Strictly speaking, this is not required, such as in cases where a job will
always be started manually.)
■ INACTIVE
The job has not yet been processed. Either the job has never been run, or its
status was intentionally altered to “turn off” its previous completion status.
■ ACTIVATED
The top-level box that this job is in is now in the RUNNING state, but the job
itself has not started yet.
■ STARTING
The event processor has initiated the start job procedure with the remote
agent.
■ RUNNING
The job is running. If the job is a box job, this value simply means that the
jobs within the box might be started (other conditions permitting). If it is a
command or file watcher job, the value means that the process is actually
running on the remote machine.
■ SUCCESS
The job exited with an exit code equal to or less than the “maximum exit
code for success.” By default, only the exit code “0” is interpreted as
“success.” However, a range of values up to the “maximum exit code for
success” can be reserved for each job to be interpreted as success. If the job is
a box job, this value means that all the jobs within the box have finished with
the status SUCCESS (the default), or the “Exit Condition for Box Success”
evaluated to true. (These exit conditions are discussed further in later
sections.)
Jobs 3–13
Job States and Status
■ FAILURE
The job exited with an exit code greater than the “maximum exit code for
success.” By default, any number greater than zero is interpreted as
“failure.” If the job is a box job, a FAILURE status means either that at least
one job within the box exited with the status FAILURE (the default), or that
the “Exit Condition for Box Failure” evaluated to true. AutoSys issues an
alarm if a job fails.
■ TERMINATED
The job terminated while in the RUNNING state. A job can be terminated if
a user sends a KILLJOB event or if it was defined to terminate if the box it is
in failed. If the job itself fails, it has a FAILURE status, not a TERMINATED
status. A job might also be terminated if it has exceeded the maximum run
time (term_run_time attribute, if one was specified for the job), or if it was
killed from the command line through a UNIX kill command. Unicenter
AutoSys JM issues an alarm if a job is terminated.
■ RESTART
The job was unable to start due to hardware or application problems, and
has been scheduled to restart.
■ QUE_WAIT
The job can logically run (that is, all the starting conditions have been met),
but there are not enough machine resources available.
■ ON_HOLD
This job is on hold and will not be run until it receives the JOB_OFF_HOLD
event.
■ ON_ICE
This job is removed from all conditions and logic, but is still defined.
Operationally, this condition is like deactivating the job. It will remain on ice
until it receives the JOB_OFF_ICE event.
The difference between “on hold” and “on ice” is that when an “on hold” job
is taken off hold, if its starting conditions are already satisfied, it will be
scheduled to run, and it will run. On the other hand, if an “on ice” job is
taken “off ice,” it will not start, even if its starting conditions are already
satisfied. This job will not run until its starting conditions re-occur.
The other major distinction is that jobs downstream from the job that is “on
ice” will run as though the job succeeded. Whereas, all dependent jobs do
not run when a job is on “on hold”—nothing downstream from this job will
run.
For details on how “on ice” affects boxes, see the chapter “Box Job Logic,” in this
guide.
Note: In the following diagrams, a status is depicted using the following box
drawing:
Jobs 3–15
Job States and Status
The following illistration depicts the simplest state transition for a job, in which
an event satisfies the starting conditions for the job.
The job starts, processes, and completes with either a failure or success exit code.
Event Processor
Check Conditions
Remote Agent
Event generated by Remote Agent
indicating the job has actually been RUNNING
started andis now running.
Event generated
by Remote Agent
SUCCESS - OR - FAILURE
For a job in a box, the job first goes into the ACTIVATED state when the top-
level box it is in goes into the RUNNING state, as shown in the following
illistration. After the job starts, the remainder of the scenario is the same as for
simple jobs.
Event Procesor
EVENT
Check Conditions
SUCCESS - OR - FAILURE
In the case of a box, the box always goes into the RUNNING state as soon as all
its starting conditions are met. This RUNNING event usually triggers jobs within
the box to also start.
If the job has a priority associated with it, all its starting conditions have been
met, and there are not enough machine resources available, it goes into the
QUE_WAIT state. Once the resources become available, it goes into the
STARTING state, and then runs.
Jobs 3–17
Job States and Status
The value of status reflects the event processing. Therefore, a job might have
actually completed on a machine and if the event processor has not processed
that event yet, Unicenter AutoSys JM will still show the job’s status as
RUNNING. By displaying the detail of the job (either in the Job Activity Console,
or in the output of the autorep command), you can see all the events for a job,
including those that have not processed yet.
In addition, the status always reflects the most recent event that was processed.
Therefore, after a job has completed, the status will remain as it is on completion.
If it ended successfully, the status will remain as SUCCESS until the job is run
again.
Note: When a box job starts, all jobs within the box change state to ACTIVATED
before they run. Jobs will then run immediately, unless other conditions apply. If
a box completes before a job is run, the job is set to INACTIVE at the time of box
completion. As a result, jobs do not retain their statuses from previous box
processing cycles once a new box cycle has begun.
Starting Parameters
Unicenter AutoSys JM determines whether or not it should start a job based on
the evaluation of the starting conditions (or starting parameters) defined for the
job. These conditions can be one or more of the following:
■ Date and time scheduling parameters are met (it is or has passed the
specified date and time).
Every time an event changes any of the above conditions, Unicenter AutoSys JM
finds all the jobs that might be affected by this change, and determines whether
or not to start them.
Note: It is very important to keep in mind the above four conditions. In order for
a job to start, all defined starting conditions must be true.
Be aware that for a job in a box to start, the box job must be running. Placing a
job in a box means that the job inherits all the starting conditions of the box job. It
also means that if there are no additional conditions on the job, it will be started
as soon as the box is started. Also, a job runs only once per box execution.
Be aware that if this scenario were implemented and “Job2” were placed
ON_ICE, then “Job1” and “Job3” would start simultaneously as soon as the box
they are in started running. (Jobs that are dependent on a job that is ON_ICE run
as if that starting condition has been satisfied.)
Jobs 3–19
Starting Parameters
Date/Time Dependencies
You can specify days of the week or actual dates. However, you cannot specify
both. You can specify days of the week using JIL or the GUI, but you can only
specify actual dates through the use of custom calendars, which you can define
using the Graphical Calendar Facility.
You can specify times as certain times of the day, or hourly, denoted in minutes
past the hour. Again, the two formats are mutually exclusive. You can specify
either form using JIL or the GUI (you do not have to create custom calendars).
TZ Environment Variable
By default, jobs with time-based starting conditions that do not specify a time
zone are scheduled to start based on the time zone of the TZ environment
variable (the same time zone under which the event processor runs).
Before you start the event processor, ensure that the TZ environment variable is
set. The 3.4.4 event processor must be started once after you upgrade your
database to insert the value of the TZ environment variable into the database. Do
this before executing jil, autosc, autocons, or autorep.
Custom Calendars
Using the Graphical Calendar Facility or the autocal_asc utility, you can define
any number of custom calendars, each with a unique name and containing any
number of dates or date/time combinations. You can use these calendars in one
of two ways: as days on which to run the jobs with which they are associated, or
as days on which to not run the jobs with which they are associated. Calendars
exist independently of any jobs that may be associated with them; they are
referenced by jobs through job definitions.
You can start jobs based on the current status of one or more jobs. These jobs
must exist in the database. These starting conditions enable you to program
simple or complex prerequisites that must be met in order to initiate a job.
would be evaluated, and the results would be A and B or D and E, reading from
left to right.
Jobs 3–21
Starting Parameters
The syntax for defining job dependencies is the same whether the job is being
defined using JIL or the GUI. The only difference is the JIL statement will begin
with the JIL condition keyword, while the GUI field will only contain the
language for the dependency itself. The dependency specification can take one of
the following three forms:
where:
done Indicates that the status condition for job_name is SUCCESS, FAILURE or
TERMINATED.
notrunning Indicates that the status condition for job_name is anything except RUNNING.
You can abbreviate the status condition identifiers with the first letter, using s, f,
d, t, and n. You can also abbreviate the dependency specification exit code with
the letter e and VALUE (of a global variable) with the letter v. These
abbreviations can be upper- or lowercase.
You can control the value of the SUCCESS status by using the “Maximum Exit
Code for Success” attribute, which can be set for a job. If you specify this
attribute, any job that exits with an exit code less than or equal to the specified
value will be treated as a success. A FAILURE status means the job exited with
an exit code higher than this value. The convention (and the default) for normal
job completion is “0”. A TERMINATED status means the job was killed.
Multiple instances are not inherently connected, but they can communicate with
each other. You can define jobs to have cross-instance dependencies, and
multiple instances can send events to each other.
For example, multiple instances can send events to each other by way of a
sendevent command line like:
sendevent -E STARTJOB -J job_name -S autoserv
The job_name argument is a job defined for the instance indicated by the
autoserv argument, which is the instance’s unique, capitalized three-character
identifier.
Jobs 3–23
Starting Parameters
In addition, jobs can be associated with more than one instance. For example, a
job defined to run on one instance could have as a starting condition the
successful completion of a job running on a different instance.
The following illistration shows two instances, each with a single event server,
exchanging cross-instance job dependencies.
Event Event
Server Server
Event Event
Processor Processor
Different instances can run from the same executables and can have the same
values for %AUTOSYS% and %AUTOUSER%, both on the event processor
machine and on machines running remote agents. However, they must have a
different value for %AUTOSERV%.
Event processors
Note: If the event server of a target instance is down, the event processor will try
to resend an event (or events) every five minutes until the other instance’s event
server can be reached.
Event Servers
Event servers keep track of the cross-instance job dependencies. Each time a job
definition with a cross-instance job dependency is submitted to the database, the
following entries are made:
■ An entry to the ext_job table of the issuing instance. The entries in this table
specify the status of jobs in other instances in which this instance has an
interest.
■ An entry to the req_job table of the receiving instance. The entries in this
table specify the jobs that have been specified as a job dependency in a job
definition on the source instance.
In both tables above, jobs are entered using the job name, a caret symbol (^), and
the instance name, as shown following:
jobB^PRD
Note: When communicating with event servers, event processors can only
connect to those instances with “like” event servers. That is, instances with
Sybase data servers can only connect with other instances having Sybase data
servers. The same holds true for instances with Oracle databases.
Jobs 3–25
Starting Parameters
For a job that runs only if the job named “DB_BACKUP” succeeds, the job
dependency specification would be written as follows:
success(DB_BACKUP)
or:
s(DB_BACKUP)
or:
(s(JobA)&s(JobB))|(d(JobD)&d(JobE))
As indicated in this example, you can use any job status as part of the
specification for a specific job’s starting conditions. With this latitude, you can
program branching paths that must be taken and that will provide alternate
actions for error conditions.
For example, if “JobB” fails after processing only partially, you might want to
call a routine titled “Backout” that backs out of the changes that were made. You
would specify the following job dependency in the job definition for “Backout”:
failure(JobB)
or:
f(JobB)
You use the notrunning operator to keep multiple jobs from running
simultaneously (that is, running one job is exclusive of any others). For example,
it might be best not to run a database dump (“DB_DUMP”) and a file backup
(“BACKUP”) at the same time. This would cause the hard disk to be accessed
very frequently. However, you might have a smaller job that can run as long as
both of these resource-intensive jobs aren’t running. You would specify the
smaller job’s dependency like this:
notrunning(DB_DUMP) AND notrunning(BACKUP)
Note: If you have jobs that you want to run exclusively, use the virtual machine
and job queuing feature described in the chapter “Load Balancing and Queuing
Jobs,” in this guide.
Starting conditions that are based on job status use the current (or most recent)
completion status of the job. The current completion status is defined by the last
execution of the job, regardless of when it last ran.
When a box job is started, all the jobs within the box have their status changed to
ACTIVATED. Therefore, downstream jobs in the box that depend on the
completion of jobs upstream in the same box will use only the completion
statuses from this run of the box. Placing the jobs in one processing cycle inside a
top-level box and setting the box to start at the beginning of the processing cycle
will prevent time-critical jobs from being affected by invalid information.
Jobs 3–27
Starting Parameters
When a job is first entered into the database, and prior to its being run for the
first time, its status is set to INACTIVE. By changing to INACTIVE the status of
jobs that have completed, but whose completion status should no longer be used
in dependent job conditions, the completion status from the last run will no
longer be the current status, and it will not be used.
To change a job status to INACTIVE, use the GUI (Send Event dialog), or use the
sendevent command. Of course, you can create an AutoSys job to accomplish
this as well. If you change the status of a top-level box to INACTIVE, all the jobs
in the box are recursively set to INACTIVE.
Deleting and reinserting the job using JIL will accomplish the same thing.
However, the past reporting history on the job will no longer be available.
(Updating a job using JIL does not change the status of the job.)
In addition to job status, you can base job dependencies on exit codes that
indicate completed tasks. In this way, you can implement even more specific
branching logic for recovering from job failures. For example, if a broken
communication line results in “JobA” failing with an exit code of “4”, when this
code is encountered, you want the system to execute a shell script (“JobB”)
which redials the line. This is the syntax you would use to specify this type of job
dependency:
exitcode (job_name) operator value
where:
job_name Is the name of the job upon which the “new” job is dependent.
You can abbreviate the dependency specification exit code with the letter e
(uppercase or lowercase).
For the previous example, you would enter the following for the job dependency
specification for the “JobB” redial job:
e (JobA) = 4
You can use any job status or exit codes as part of the specification for starting
conditions. With this latitude, you can program branching paths that will
provide alternative actions for all types of error conditions.
Using Exit Codes and Batch Files with Jobs Running on Windows
When you are defining jobs that will run batch files on Windows, you should be
aware of, and account for, the Windows-specific behavior.
Windows programs return any exit values that are programmed within the
executable code. This exit value is the last thing returned to Windows when the
program terminates.
Generally, a zero exit code indicates success, while a non-zero exit code indicates
an error. The expected error values should be documented with each individual
program, but some programs can return unexpected exit codes. You should
modify these programs so that they return expected values. Use these values
when specifying exit code dependencies.
Jobs are created using standard Windows process creation techniques. After the
job has been created, the remote agent waits for the job to complete. When the
job completes, Unicenter AutoSys JM gets the program exit code from Windows
and stores it in the database for later use.
Jobs 3–29
Starting Parameters
When launching programs directly, the exit codes are returned and put in the
database. However, there are some exit code behaviors that you must take into
consideration when using to start *.BAT batch files.
The exit code returned from a batch file is the return code from the last operation
executed from within that particular batch file. Consider the following example:
REM test batch file
test
if errorlevel 1 goto bad
goto good
:bad
del test.tmp
:good
exit
This example batch file will return a 0 exit code as long as test.tmp exists. If
test.tmp does not exist, the return code is from the del line and not from the line
that executes test. Therefore, this batch file will return a 0 (successful) exit code,
even if test failed to execute as intended.
When test fails with errorlevel 1, this batch file will return an exit code of 1 from
false, whether the test.tmp file exists or not.
Job dependencies can also be based on global variables you set using the Send
Event dialog or the sendevent command. When using global variables in this
way, the value of the expression must evaluate to TRUE for the job dependency
to be satisfied. For example, you have a set of jobs in a box that are only
supposed to run on special occasions, such as only on your manager’s approval.
In this case, you would set the global variable named “manager-ok” to “OK,”
and make the top-level box job dependent on this global variable.
where:
global_name Is the name of the global variable upon which the job is dependent.
operator Is one of the following: =, != (not equal), <, >, <=, or >=
When using the Job Definition dialog to define a job, enter the above expression
in the Starting Condition field. When using JIL, enter the above expression in the
appropriate JIL script using the condition attribute.
You can abbreviate the dependency specification VALUE with the letter v
(uppercase or lowercase).
In the example cited above, you would enter the following for the job’s condition
statement:
VALUE(manager-ok) = OK
or:
v (manager-ok) = OK
A top-level job is a job that is not contained in a box, and these run numbers are
inherited by every job that is in a box. This means that all jobs within a top-level
box have the same run number as the number used for the run of the box. This
design permits runs of nested jobs to be associated together within the same run.
Jobs 3–31
Defining Jobs
If there are restarts of a job, the run number remains the same, and the ntrys field
is incremented. In the standard reports (see the autorep command in the chapter
“Commands,” in the Unicenter AutoSys Job Management for Windows and
UNIX Reference Guide), these two values are displayed in the “Run” column as
run_num/ntry.
The value of run_num/ntry is defined in the runtime environment for the job,
and it is accessible to those shell scripts or executables executed as the job’s
command. This value is contained in the variable $AUTORUN.
Unicenter AutoSys JM also maintains a value for each job’s name, which is
defined in the runtime environment for the job. As with $AUTORUN, this value
is accessible to those shell scripts or executables executed as the job’s UNIX
command. The value is contained in the variable $AUTO_JOB_NAME.
Defining Jobs
You can define jobs using one of two methods: JIL statements or the GUI (in the
Job Definition dialog). When you use JIL statements, you can input them
interactively to the jil command, or you can store them in text files, which you
can redirect into the jil command.
Alternatively, you can open the GUI by using the autosc command, and you can
enter the job definition by filling in the appropriate fields of the Job Definition
dialog and its associated dialogs.
You should back up your job definitions periodically, so you can have a file to
restore from in case of system failure. This process is explained in Backing up
Definitions in the chapter “Maintaining,” in this guide.
You can use the GUI to interactively define, run, manage, monitor, and report on
jobs. Unicenter AutoSys JM provides the following top-level Windows and
dialogs, which you can launch from the GUI Control Panel:
Used to define jobs. The Job Definition dialog and its related dialogs allow
you to create, view, edit, and delete job definitions for command jobs, box
jobs, and file watcher jobs.
Used to define calendar definitions. The Graphical Calendar Facility and its
related dialogs allow you to create calendars in order to simplify job
scheduling. It allows you to create custom rules, block certain dates, setup
conflict resolution, build calendars based on combinations of other
calendars, and preview calendar definitions before assigning them to jobs.
Then, you can assign them to a certain job, using the Job Definition dialog.
■ Operator Console
Used to monitor and manage jobs. The Operator Console consists of the
following components: Job Activity Console, Job Selection dialog, Alarm
Manager dialog, and Alarm Selection dialog. The Job Activity Console
allows you to monitor jobs, and to filter the jobs that it displays, you can use
the Job Selection dialog. The Alarm Manager allows you to browse and
handle alarms, and to filter the alarms that it displays, you can use the
Alarm Selection dialog.
Jobs 3–33
Chapter
Job Attributes
4
This chapter describes the essential and optional job attributes used to define
jobs. These attributes determine what a job does, including when and where it
will run.
You should back up your job definitions periodically so you can have a file to
restore from in case of system failure. For more information see the chapter
“Maintaining,” in this guide.
When using JIL to create a job definition, you enter the jil command to display
the jil prompt. At this prompt, you define a job using the insert_job sub-
command followed by any desired attribute:value statements which specify an
action to be performed. You can also use JIL sub-commands to modify or delete
an existing job definition. Your JIL commands will look like this:
insert_job: job_name
attribute:value
...
where:
When using the Job Editor to create a job definition, open the GUI Control Panel
from the Graphical Interface icon in your program group, click on the Job Editor
button in the GUI Control Panel, and set the various attributes and their values
using the text fields and push-buttons in the Job Editor.
Organization
In this chapter, job attributes are organized into two categories: Essential and
Optional. Essential attributes are those that must be specified in order for the job
definition to be accepted. As the name implies, optional attributes are not
necessarily required for a job definition to be accepted. For each attribute
described in this chapter, as in the following illustration, we indicate its name, its
JIL attribute keyword, its corresponding Job Editor object, or GUI Field Name,
and a description of its use.
For more information see the chapter JIL/GUI Job Definitions, of the Unicenter
AutoSys Job Management for Windows and UNIX Reference Guide.
The following attributes are common to all job types: Command, File Watcher,
and Box. Although defaults may be available, the attributes in this section are
still essential due to the fact that every job definition must include them, whether
by default or by explicit specification.
Job Name
The job name is used to identify the job to, and must be unique. It can be
from 1 to 30 alphanumeric characters, and is terminated with white space.
Embedded blanks and tabs are illegal. Commands, File Watchers, and Box
Jobs cannot use the same name.
Job Type
job_type New Job dialog: Job Type
The job type specifies the type of job: Command (c), File Watcher (f), or Box
(b).
Job Owner
owner Basic Tab: Owner
The job owner specifies whose user ID the command will be run under on
the client machine. This attribute is automatically set to the user who
invoked jil or the Job Editor to define the job, and cannot be changed except
by the Edit Superuser.
Command
command Basic tab: Command
The command attribute can be the name of any command, executable, UNIX
shell script or batch file, and its arguments. When issuing commands that are
to be run on a different operating system, you must use the syntax
appropriate to the operating system of the client machine. The job’s owner
must have execute permission for this command on the client machine. Input
and output redirection cannot be part of the command. Redirection is
specified by other job attributes. Global variables can be used as part of the
command name itself, or as part of the command’s runtime arguments. To
set a global variable, use the sendevent command, or use the Send Event
Tool, which you can launch from several places in the GUI.
If you want to use an command in the Command field or for the command
attribute, you must use the following syntax (when you use this syntax, the
specific variables are set correctly):
initautosys -i Instance -r “command_line”
where:
command_line Specifies the full command line. This command line must be in quotes.
You cannot use a network drive letter in a command definition. You must use a
fully qualified network name instead. For example,
\\TAURUS\C$\tmp.
These are additional points to keep in mind with regard to the command
attribute:
■ Redirection of standard input, output, and error files is not allowed in the
command attribute. Job attributes, such as std_in_file for standard input, can
be used to provide the necessary functionality.
Machine to Run On
machine Basic tab: Send to Machine
This attribute specifies the client machine on which the command should be
run. The job’s owner must have permission to access this machine and to
execute the specified command at this machine. The machine can be a
specific real machine, a set of real machines, or a virtual machine. Real
machines must be accessible over the network using the TCP/IP protocol.
Note: If you have implemented the Shadow Event Processor feature, you should
never set the machine attribute to localhost. Localhost implies: “run on the
machine on which the Event Processor is currently running.” The job might run
normally on the Primary Event Processor machine, and yet fail on the Shadow
Event Processor machine.
For more information about virtual machines, and how Unicenter AutoSys JM
chooses a machine to run on when you specify multiple machines or a load
balancing program, see the chapter, “Load Balancing and Queuing Jobs,” in this
guide.
For File Watcher jobs, the following attributes must be specified in addition to
those listed in the section Attributes Common to All Job Types, in this chapter.
Machine to Run On
This attribute specifies the client machine on which the File Watcher should
run. For a File Watcher, this attribute must specify a single real machine,
accessible over the network using TCP/IP.
The name of the file to watch for must be a legal file name and must include
the full path to the file. All directories in the path must exist, but the file itself
does not have to exist at the time the job is defined. Environment variables
defined and exported in the profile file (the specified or default), as well as
global variables, can be used in the path. Wildcards cannot be used in the file
name. For more information on how to use wildcards, see the Unicenter
AutoSys Job Management for UNIX and Windows Reference Guide in the
watch_file section.
When using the Job Editor, this field only appears when the File Watcher type
has been selected. When using JIL, if you are including a drive letter with the
pathname, the colon must be escaped (for example "C:\tmp"and C\:\tmp are
valid; C:\tmp is not). When using the GUI, do not use escape characters. This
attribute is used in combination with the Watch File Minimum File Size and
Watch Interval attributes, to determine when a file is considered to have arrived.
For more information on Box Job Attributes, see the section Attributes Common
to All Job Types, in this chapter.
The following optional attributes are common to all Job Types: Command, File
Watcher, and Box. These attributes are used to specify when a job should start,
and typically default to “inactive” or NULL if not specified.
For information on how date and time attributes are affected by the Spring and
Fall time adjustments, see the section Date and Time Attributes and Time
Changes, in this chapter.
The days of the week attribute specifies the days on which the job should be
run. You can specify one or more days, or all for every day.
The days on which a job should be run can be specified by way of a custom
calendar, rather than through a list of days of the week. Custom calendars,
specified through the Calendar Editor, or the autocal_asc command, can
include any number of dates on which the job should be run. Each calendar
is stored in the database as a separate object with a unique name, and a
calendar can be associated with one or more jobs, using this attribute or the
exclude_calendar attribute.
The days on which a job should not be run can be specified by way of a
custom calendar. Custom calendars, specified through the Calendar Editor,
or the autocal_asc command, can include any number of dates on which the
job should not be run. Each calendar is stored in the database as a separate
object with a unique name, and a calendar can be associated with one or
more jobs, using this attribute or the run_calendar attribute.
This attribute specifies one or more specific times of day when the job should
be started. The job will be started at each specified time of day, on every day
specified in the associated date attributes. This attribute, the “Minutes after
Each Hour” (start_mins), and the “Anytime After Midnight” attributes are
mutually exclusive.
This attribute specifies a time range (or time window) during which a job
can be started. When the starting conditions for a job have been met,
Unicenter AutoSys JM checks if the current time is within the specified run
window. The job will not start outside of the specified window. This
attribute controls only when the job will start, not when it will stop running.
This attribute is particularly useful when, for example, it is not known when
a watched-for file will arrive, and there are certain times when jobs
dependent on that file should not run. This setting can prevent a latearriving
file from causing a job to run at an inopportune time. The run window range
cannot span more than 24 hours. jobs that are not in a box must have starting
conditions in addition to the run_window attribute in order for the job to be
automatically started.
Note: You can also block out times of day when you do not want a job to start by
putting the job on hold, then taking it off hold later. The sendevent command
can be used to accomplish this, executed either from the command line, through
the Send Event Tool, or from within a shell script or batch file in another job.
One or more specific times per hour when the job should be started can be
specified. Each time is specified in minutes past the hour. The job will be
started at each specified time every hour of the day, on every day specified
in the associated date attributes. This attribute, the “Minutes after Each
Hour” (start_times), and the “Anytime After Midnight” attributes are
mutually exclusive.
Job Dependencies
To check for this type of invalid condition statement, you can use the chk_cond
stored procedure. For more informatin see the chapter “Commands,” in the
Unicenter AutoSys Job Management for Windows and UNIX Reference Guide.
For more information see the section Starting Parameters in the chapter “Jobs,”
and the chapter “Defining Jobs Using JIL,” in this guide. The functionality listed
in these locations will help you when creating your own job definitions.
Command, File Watcher, and Box. These attributes are used to specify a variety
of features, and typically default to “inactive” or NULL if not specified.
Description
Box Name
A minimum run time (in minutes) can be specified for a job; the job should
not end in less than the specified time. This may prevent an inadvertent
truncation of the file being processed before it is complete. If the job does
end prior to this time, an alarm is generated to alert someone to investigate
the situation and take corrective action. Alarms are informational, and they
do nothing on their own. A monitor, the Alarm Sentry, or the Alarm
Manager must be running and tracking alarms in order for them to be seen
and acted upon in real-time.
A maximum runtime can be specified for a job; the job should not take
longer than the specified time to finish. This reasonability test may catch an
error, such as the application being stuck in a loop, or the application
waiting for additional data which may never arrive. If the job runs longer
than this time, an alarm is generated to alert someone to investigate the
situation and take corrective action. Alarms are informational, and they do
nothing on their own. A monitor, the Alarm Sentry, or the Alarm Manager
must be running and tracking alarms in order for them to be seen and acted
upon in real-time.
The attribute “Terminate this job n mins after starting” (term_run_time) can be
used to automatically terminate a job that has been running for too long. If
term_run_time is not set, the job will continue running until manually
interrupted, or it completes by itself.
A maximum run time (in minutes) can be specified for a job; the job should
not take longer than the specified time to finish. This feature allows the job to
be automatically terminated if it runs longer than the allotted time.
This attribute specifies whether or not the box containing this job should be
terminated if the job fails or terminates. By using this attribute in
combination with the If this box fails, terminate this job attribute, you can
control how nested jobs react when a job fails. This attribute only applies if
the job is being placed in a box.
This attribute specifies whether or not the job should be terminated if the box
it is in fails or terminates. By using this attribute in combination with the If
this job fails, terminate the box it is in attribute, you can control how nested
jobs react when a job fails. This attribute only applies if the job is being
placed in a box.
Note: Windows does not support the concept of process groups. If the job that
was launched was a *.exe, KILLJOB will kill the process specified in the
command definition. If the job being run is not a *.exe (for example, *.bat, *.cmd,
or *.com), Unicenter AutoSys JM uses CMD.EXE to launch the job; KILLJOB will
kill only the CMD.EXE process. The Job Status will be set according to the return
code of the killed CMD.EXE process. This status can be any one of the following:
SUCCESS, FAILURE, or TERMINATED.
Any processes that were launched by user applications or batch (*.bat) files will
not be killed.
This attribute specifies how many times, if any, the job should be restarted
after exiting with a FAILURE status. The default is “0”, which means the job
will not be automatically restarted after an application failure. This attribute
applies to application failures (for example, Unicenter AutoSys JM is unable
to find a file or a command, or permissions are not properly set); it does not
apply to system or network failures (for example, machine unavailability,
the socket connect timed out, the fork in the Remote Agent failed, or the file
system space resource check failed).
The number of restarts after system or network failures is specified using the
Max Restart Trys field on the Administrator Event Processor screen.For more
information on Max Restart see the chapter “Administrator,” in this guide.
This attribute allows you to schedule a job based on a chosen time zone.
When this attribute is used, the time settings in the job are based on the
specified time zone. For example, if you define a start time of 01:00 for a job
running on a machine in Denver, and enter SanFrancisco in the Time Zone
field, the job will start at 1:00 a.m. Pacific time, which is 2:00 a.m. in Denver.
If you specify a time zone that includes a colon, you must quote the time
zone name if you are using JIL. For example:
timezone: "IST-5:30"
If you do not quote a time zone specification that contains a colon, JIL will
interpret the colon as a delimiter, producing unexpected results. Jobs with time-
based starting conditions that do not specify a time zone will have their start
event scheduled based on the time zone under which the Event Processor is
running.
Autohold
This feature is only for jobs in a box. When a job is in a box, it inherits the
box’s starting conditions. This means that when a box goes into the
RUNNING state, the Box job will start all the jobs within it (unless other
conditions are not satisfied). This is typically the desired behavior; however,
there are occasions when it is not.
For example, you might want to place a job in a box, but not start the job until a
non-job (for example, operating system level) event arrives. By specifying “yes”
to Autohold On, AutoSys automatically changes the job state to ON_HOLD
when the box it is in begins RUNNING. At this point, the job is in exactly the
same state as if it were manually placed on hold. To start the job, take the job off
hold by sending the JOB_OFF_HOLD event via the Send Event Tool or the
sendevent command.
Permissions
The permission scheme provides users with Edit and Execute permissions on
a per job basis.
For Windows by default, only a job’s owner has Edit and Execute permission on
a job.
Exec
The user or the world can issue events that affect the running of the job as in
STARTJOB, KILLJOB and so forth.
Edit
The user or the world can edit the job definition itself, including deleting the
job.
Machine
By default, all Edit and Execute permissions are valid only on the machine
on which the job was defined (using either jil or the Job Editor). Permission
attributes can allow a user or the world to edit or execute a job from a
different machine.
For more information about setting permissions, see the section overview of the
chapter “Security,” in this guide.
Profile
The profile attribute specifies the name of the defined job profile that
contains the environment variables that should be set for the command’s
execution. You can add and delete job profiles using the Profiles Manager,
which you can open from the program group. For more information on the
Profiles Manager aee the section Job Profiles, in the chapter “Jobs,” in this
guide.
If a command that normally executes when entered at the command line fails
when run as a job, it is usually due to the incomplete specification of the
required environment for the command in the job’s profile.
Since only system environment variables are defined by default when a job runs,
verify that all required user defined environment variables are defined in the
job’s associated profile.
The standard input file can be redirected to any file to which the job owner
has read permission on the client machine. The full pathname must be
specified, although variables defined in the command’s environment, as well
as global variables, can be used in the pathname specification.
When using JIL and including a drive letter with the pathname, you must escape
the colon (for example "C:\tmp" and C\:\tmp are valid; C:\tmp is not). When
using the Job Editor, do not use escape characters. The default is NUL:.
The standard output file can be redirected to any file on the client machine to
which the job owner has write permission. The full pathname must be
specified, although variables defined in the command’s environment, as well
as global variables, can be used in the pathname specification. When using
JIL, if you are including a drive letter with the pathname, the colon must be
escaped (for example "C:\tmp" and C\:\tmp are valid; C:\tmp is not). When
using the Job Editor, do not use escape characters. The default is NUL:.
By default, the file will be overwritten with new information. By placing the
following notation as the first characters in the std_out_file specification, you can
specify if the error file should be appended to or overwritten:
> Overwrite file
>> Append file
This setting overrides the instance-wide setting for the Append stdout/stderr
setting on the Administrator Event Processor screen. It also overrides the
machine-specific setting for the AutoMachWideAppend variable, which you can
set on the Administrator System Information screen.
Note: If you are running jobs across platforms, realize that the Event Processor
of the issuing instance controls the default behavior. If the issuing instance is
UNIX, the default is to append this file.
For information on using the Unicenter AutoSys Administrator, see the chapter
“Administrator,” in this guide.
The standard error file can be redirected to any file on the client machine to
which the job owner has write permission. The full pathname must be
specified, although variables defined in the command’s environment, as well
as global variables, can be used in the pathname specification. When using
JIL, if you are including a drive letter with the pathname, the colon must be
escaped (for example "C:\tmp" and C\:\tmp are valid; C:\tmp is not). When
using the Job Editor, do not use escape characters. The default is NUL:.
By default, the file will be overwritten with new information. By placing the
following notation as the first characters in the std_err_file specification, you can
specify if the error file should be appended to or overwritten:
> Overwrite file
>> Append file
This setting overrides the instance-wide setting for the Append stdout/stderr
setting on the Administrator Event Processor screen. It also overrides the
machine-specific setting for the AutoMachWideAppend variable, which you can
set on the Administrator System Information screen.
Note: If you are running jobs across platforms, realize that the Event Processor
of the issuing instance controls the default behavior. If the issuing instance is
UNIX, the default is to append this file.
For information on using the Unicenter AutoSys Administrator, see the chapter
“Administrator,” in this guide.
Job Load
If you force a job to start, it will run even if its load exceeds the machine’s
max_load. Also, if job_load is specified for a job and no priority attribute is set,
AutoSys uses the default priority of 0, which means ignore the job_load and run
the job immediately.
For information about load balancing on machines, see the chapter “Load
Balancing and Queuing Jobs,” in this guide.
Queue Priority
The queue priority establishes the relative priority of all jobs queued for a
given machine, with the lower number indicating higher priority. If a job is
ready to run on a designated machine, but the current load on that machine
is too large to accept the new job’s load, the job will be “queued” for that
machine.
Priority only influences the starting of jobs that are queued, unless the jobs are in
a box. If jobs in a box have a priority attribute setting, they will be processed in
order of priority, highest to lowest.
Job Overrides
override_job File menu and Basic tab: Add One Time Override
You can specify a one-time job override for the next run of a particular job.
An override lets you change the behavior of a job the next time the job runs.
override_job menu
auto_hold min_run_alarm std_in_file
machine start_times
max_run_alarm std_err_file
The maximum exit code for success attribute indicates what exit codes will
be considered as a success. It is used when a command can exit with more
than just a single exit code, indicating either “degrees of success,” or other
conditions that may not indicate a failure.
This attribute lets you define complex branching logic based on specific exit
code values. Unicenter AutoSys JM reserves exit codes greater than 120 for
internal use, so do not use exit codes of 120 or greater.
Average Runtimes
Heartbeat-Interval
The Event Processor must be configured to check for heartbeats. To do this, use
the HeartBeat Interval field in the Administrator Event Processor screen.
It will perform the same resource check the next time it attempts to start. This
feature is intended to prevent a job that is known to require large amounts of file
space from failing due to a shortage of space during processing time.
For File Watcher jobs, the following attributes can be specified in addition to
those listed in the section File Watcher Job Attributes, in this guide. These
attributes typically default to inactive if not specified.
The watch file minimum size determines when enough data has been
written to the file to consider it complete. This attribute is specified in bytes.
You should specify a reasonable file size to ensure that a nearly empty file
isn’t assumed to be complete. Use caution with this attribute. If you specify a
large file size Unicenter AutoSys JM will wait for the file to reach that size,
even if the file has reached a steady state and is no longer growing.
Watch Interval
The watch interval specifies (in seconds) how often the File Watcher should
check the current file size to ascertain whether data is still being written to
the file. The default is every 60 seconds.
For Box jobs, the following optional attributes can be specified, in addition to
those listed in the section Attributes Common to All Job Types, in this chapter.
These attributes typically default to inactive or NULL if not specified.
Box Failure
The default condition required for a box to complete with a FAILURE status
is that all jobs in the box have completed and one or more jobs in the box
completed with a failure condition. A box can contain complex branching
logic, which may take a number of different paths, one of which may include
recovery from a failed job. In this case, you might want the box to be
considered successful, even though a job within it failed. This attribute can
be used to specify what will be considered as a failure, which could be as
simple as the failure of a single job, or as complex as necessary. This attribute
is only displayed in the Job Editor when you select a Box Job Type, and then
it is located on the Basic tab.
During the changes to and from daylight saving time, your operating system
automatically changes the system clock to reflect the switch to either Standard
Time (ST) or Daylight Time (DT). In the spring, at 2 a.m., the clocks spring
forward to 3 a.m. In most of the United States, this happens on the first Sunday
in April. The following illustration shows this time change.
When this change occurs, time runs 1:58 ST, 1:59 ST, 3:00 DT, 3:01 DT, and the
2:00 to 2:59 hour is lost.
In the fall, at 2 a.m., the clocks fall back to 1 a.m. In most of the United States,
this happens on the fourth Sunday in October. The following illustration shows
this time change
When this change occurs, time runs 1:58 DT, 1:59 DT, 1:00 ST, 1:01 ST,..., 2:00 ST,
2:01 ST, and the 1:00 to 1:59 hour is repeated.
Jobs that are time dependent may have their scheduling shifted to adjust for the
time change. Jobs that are not time dependent, but have other starting
conditions, will run as normal.
There are two types of time dependencies: absolute, and relative. Absolute times
are defined to occur at a particular time of day, for example 9:30 on Thursday, or
12:00 on December 25. Absolute time dependent job attributes include:
■ days_of_week
■ exclude_calendar
■ run_calendar
■ run_window
■ start_times
Relative times are specified with respect to either the current time, or relative to
the start of the hour. For example, start a job at 10 and 20 minutes after the hour,
or terminate a job after it has run for 90 minutes. Relative time dependent job
attributes include:
■ auto_delete
■ max_run_alarm
■ min_run_alarm
■ start_mins
■ term_run_time
■ watch_interval
During the time change, absolute time attributes will behave differently than
relative time attributes, as described below.
During the change to daylight saving time in the spring, the “2:00-2:59” hour is
lost, therefore Unicenter AutoSys JM cannot schedule any jobs during that non-
existent hour.
The solution is to schedule jobs with absolute time dependencies for the missing
hour to start within the first minute of the 3:00 DT hour. For example, a job
scheduled to run on Sundays at 2:05, will run at 3:00:05 that day; a job scheduled
to run everyday at 2:45 will run at 3:00:45. Although it might not be possible to
start a large number of jobs within the first minute of the hour, this feature does
somewhat preserve the scheduling order.
If you scheduled a job to run more than once during the missing hour, for
example, 2:05 and 2:25, only the first scheduled job would run. Any additional
start times for the same job in the missing hour will be ignored.
Relative time dependencies, such as start_mins, will run as you would expect.
For example, a job specified to run at 0, 20, and 40 minutes after the hour will be
scheduled for 1:00 ST, 1:20 ST, 1:40 ST, 3:00 DT, 3:20 DT, and 3:40 DT. Relative
interval calculations, such as max_run_alarm, min_run_alarm, term_run_time,
and watch_interval are still calculated in minutes out from when the job started.
For example, if our Sunday at 2:05 job has a term_run_time of 90 minutes, the job
will start shortly after 3:00, the term_run_time will be at 4:30.
Therefore, the behavior between two jobs that appear to have the same times
specified, but use start_times versus start_mins, will not be the same. For
example, job “Jrel” has start minutes of 10 and 20 minutes after the hour, and job
“Jabs” has start times of 1:10, 1:20, 2:10, 2:20, 3:10, and 3:20. “Jrel” will run at
1:10, 1:20, 3:10, and 3:20. “Jabs” will run at 1:10, 1:20, 3:00, 3:10, and 3:20.
Run Windows
Run windows are treated a bit differently. If the specified closing of the run
window falls within the missing hour, its recalculated closing time will be
bumped up an hour, so that the effective duration of the run window remains
the same. For example, a run window of 1:00 - 2:30 will have the closing time
move to 3:30, so that the run window still remains open for an hour and a half.
If the specified opening of the run window falls within the missing hour, its
opening time is moved to 3:00. The closing time does not get altered, therefore
the run window is foreshortened. For example, a run window of 2:45 - 3:45 will
become 3:00 - 3:45, and the actual run window elapsed time will be 15 minutes
shorter.
If both the specified opening and closing of the run window is within the
missing hour, its opening time is moved to the first minute after 3:00, and its
closing time is pushed forward one hour. Therefore, the resultant run window
may be lengthened. For example, a run window of 2:15 - 2:45 will become 3:00 -
3:45, or 15 minutes longer.
During the change from daylight saving to standard time in the fall, there are
two “1:00-1:59” hours. Jobs with start_times set between 1:00 and 1:59 will run
only in the second, or Standard Time hour. Jobs with start_mins settings will run
in both hours.
For example, a job scheduled to run on Sundays at 1:05, will run only at the
second 1:05. A job scheduled to run every 30 minutes will run at 1:00 DT and
1:30 DT, then again at 1:00 ST and 1:30 ST, and so on (as shown in the following
illistration).
Standard Time
Jobs that are not time-based, but have other dependencies, will still run during
the first hour.
During the fall time change from Daylight Savings time to Standard Time, your
operating system automatically falls back one hour from 2 a.m. to 1 a.m., causing
the hour from 1 a.m. to 2 a.m to be repeated.
When testing this time change, you must set the clock to a time before 1 a.m. and
allow the entire hour to pass before you can observe the time change. If you
manually set the time to a period within the 1 a.m to 2 a.m. window, the system
will assume that the time change has already occurred and will not reset at 2
a.m.
Run Windows
Run windows are treated a bit differently. If the specified opening of a run
window is before the time change, and its specified closing falls within the
repeated hour, it will close during the daylight saving, or first hour. For
example, a run window of 11:30 - 1:30 will have the closing time of 1:30 DT, not
1:30 ST, which means that the run window remains open for its specified two
hours. This may be a problem if there are also associated start times on the job
which occur during the repeated hour. In the example above, if the job also had a
start time of 1:15, the start time would be calculated for 1:15 ST, and the job
would not run on the day of the time change.
If the specified opening of the run window falls within the repeated hour, its
opening time is moved to the second, Standard Time hour. The closing time does
not get altered, therefore the length of the run window will remain the same. For
example, a run window of 1:45 - 2:45 will become 1:45 ST to 2:45, or the same
hour in length.
If both the specified opening and closing of the run window is within the
repeated hour, the run window will be open during the second, Standard Time
hour.
■ Boxes should be used primarily for jobs with the same starting conditions. A
box used to group sequential jobs is limited to 1,000 jobs.
■ As long as any job in a box is running, the box remains in RUNNING state;
the box cannot complete until all jobs have run.
■ By default, a box will return a status of SUCCESS only when all the jobs in
the box have run and the status of all the jobs is “success.”
■ By default, a box will return a status of FAILURE only when all jobs in the
box have run and the status of one or more of the jobs is “failure.”
The fact that all jobs in a box change status when a box starts running has lead
some to use boxes to implement “job cycle” behavior. Be aware that placing jobs
in a box to achieve this end may bring undesired behavior due to the nature of
boxes.
Avoid the temptation to put jobs in a box as a short cut for performing events
(such as ON_ICE or ON_HOLD) on a large number of jobs at once. You will
most likely find that the default behavior of boxes inhibits the expected
execution of the jobs you placed in the box.
Likewise, you should not place jobs in a box solely because you want to run
reports on all of them. When you run autorep on a box, you will get a report on
the box and all the jobs in the box (unless you use the -L0 option). In addition, if
you use wildcarding when specifying a job name, you could get duplicate entries
in your report. For example, suppose you have a box named “acnt_box”
containing three jobs named “acnt_job1,” “acnt_job2,” and “daily_rep.” If you
specify acnt% as the job name for the autorep report, the report will have an
entry for the box “acnt_box” and an entry for each job in the box. Then autorep
will continue searching for all job names matching the wildcard characters and,
thus, will list “acnt_job1” and “acnt_job2” a second time.
As soon as a box starts running, all the jobs in the box (including sub-boxes)
change to status ACTIVATED, meaning they are eligible to run. (Because of this,
jobs in boxes do not retain their statuses from previous box cycles.) Then each job
is analyzed for additional starting conditions. All jobs with no additional starting
conditions are started, without any implied ordering or prioritizing. Jobs with
additional starting conditions remain in the ACTIVATED state until those
additional dependencies have been met. The box remains in the RUNNING state
as long as there are activated or running jobs in the box.
If a box is terminated before a job in it was able to start, the status of that job will
change directly from ACTIVATED to INACTIVE.
Note: Jobs in a box cannot start unless the box is running. However, once the job
starts running, it will continue to run even if the box is later stopped for some
reason.
Once all the jobs in a box have completed successfully, the box completes with a
status of SUCCESS. The status of the box and the jobs in the box remain
unchanged until the next time the box runs. (Some exceptions to this are
explained in How Job Status Changes Affect Box Status, discussed later in this
chapter.)
In this example, a box named “simple_box” contains three jobs: “job_a,” “job_b,”
and “job_c.” “job_a” and “job_b” have no starting conditions; the starting
condition for “job_c” is the success of “job_b.”
job_a job_b
job_c
If “job_b” fails, “job_c” will not start; it will remain in ACTIVATED state.
Because no contingency conditions have been defined, “simple_box” will
continue running indefinitely, waiting for the default completion criteria to be
met, namely that all jobs in the box ran.
Two box job attributes override the default success or failure of a box. They are
box_success and box_failure. If included in a box job definition, they determine
what conditions must be met to put the box in a state of SUCCESS or FAILURE.
If you specify conditions for success of a box you should also specify failure
conditions; otherwise the default failure conditions are applied.
Using the above simple box example, assume you defined the following success
condition for “simple_box”:
box_success: success(job_a)
If “job_a” runs successfully, and “job_b” is still running, “job_c” would pass
from ACTIVATED state directly to INACTIVE state without ever running
because the box it is in would no longer be running.
When overriding default box terminators, be careful that you do not define
conflicting success and failure conditions.
There are two attributes you can add to the definition of a job within a box to
force either the job or the box to stop running. They are box_terminator and
job_terminator.
The box_terminator: y attribute specifies that if the job fails, the box the job is in
should terminate. If you use this attribute, be sure you have defined conditions
for the other jobs in the box in the event that the box is terminated. For more
information, see the figure in Using the Box Terminator Attribute in this chapter.
The job_terminator: y attribute specifies that if the box the job is in fails, this job
will terminate. If you want every job in a box to terminate upon box failure, you
must add this attribute to every job definition. For more information, see the
figure in Using the Job Terminator Attribute in this chapter.
Each job in a box will run only once per box execution. Therefore, you should not
define more than one time attribute for any job in a box because the job will only
run the first time. If you want to put a job in a box, but you also want it to run
more than once, you must assign multiple start time conditions to the box itself,
and define no time conditions for the job.
Remember also that the box must be running before the job can start. Do not
assign a start time for a job in a box if the box will not be running at that time. If
you do, the next time the box starts the job will start immediately.
The following illistration shows a scenario that would not work properly if
placed in a box.
bx_stat
job_a
3:00 a.m. Daily
run until succeed
job_report
success(job_a)
Report success of job_a
At 3:00 a.m., “bx_stat” starts running, which causes “job_a” to start running. If
“job_a” is successful, “job_report” runs and all goes as expected. However, if
“job_a” fails, it will not be able to run again until the next time the box starts,
because jobs run only once per box execution. “job_report” will still be
ACTIVATED waiting for the success of “job_a,” and the status of the box will be
RUNNING. The box will remain in this state indefinitely.
You can also execute this by selecting the Force Start Job button in the Job
Activity Console.
If you force start a job in a box, the state of the box influences whether or not
other jobs in the box will run as expected, as shown in the following example.
bx_report
3:00 a.m. Daily
In the previous figure, if the job “run_stats” fails, the “bx_report” box job will
terminate because “run_stats” has a box_terminator attribute. If you force start
“run_stats,” and it completes successfully, “report_stats” would still not start
because the box it is in is not running.
The next section discusses how job status changes influence the status of the
container box.
If a box that is not running contains a job that changes status, as a result of a
FORCE_STARTJOB or CHANGE_STATUS event, the new job status could
change the status of its container box. A change of status of the box could trigger
the start of downstream jobs that are dependent on the box.
If a box contained only one job, and the job changed status, the box status would
change as shown in the following table:
If another job is dependent on the status of the box, the status change could
trigger the job to start. If the box status does not change, dependent jobs are not
affected.
If the box contains other jobs in addition to the job that changed status, the status
of the box will be evaluated again according to the success or failure conditions
assigned to the box (either the default or user-assigned). Any jobs in the box with
a status of INACTIVE are ignored when the status of the box is being re-
evaluated. For example, consider an INACTIVE box that contains four jobs, all
with a status of INACTIVE (this is typical of a newly created box). If one of the
jobs is force started and completes successfully, the status of the box will change
to SUCCESS even though none of the other jobs ran.
Examples
Spend some time studying the examples in this section. They will help explain
the logic of job flow in a box and reduce your chances of creating unexpected
box behavior.
■ The box job named “bx_daily_update” has date and time conditions
specified for its starting conditions; it runs every day of the week at 3:00 a.m.
This box contains three command jobs whose overall purpose is to update
files and generate a report.
■ The command job named “job_run_stats” runs statistics on the updated files.
It is defined as being inside “bx_daily_update.” It will run only on the
successful completion of the job named “job_update.” This job has a
box_terminator attribute; therefore, if this job fails, the box containing this
job will be terminated.
bx_daily_update
3:00 a.m. daily
job_update
box_terminator: y
Update files
FAILURE job_update
SUCCESS job_update
job_run_stats
success
(job_update)
box_terminator: y
Run statistics
job_report_stats
success(job_run_stats)
Report Statistics
FAILURE bx_daily_update
SUCCESS bx_daily_update
job_trigger_msg
failure (bx_daily_update)
Page operator
SUCCESS job_trigger_msg
The box job “do_statistics” runs every day at 3:00 a.m. It contains three jobs.
“update_accounts” updates files; it has no other starting conditions so it starts as
soon as the box starts running. “run_stats” runs statistics; its only starting
condition is the success of “update_accounts.” “report_stats” reports statistics;
its only starting condition is the success of “run_stats.” No conditions for success
or failure of the box have been defined, therefore the default conditions are
applied. That is, box success is when all jobs in the box have run and successfully
completed; box failure is when all jobs in the box have run and at least one has
failed. The box will remain in the RUNNING state until all jobs in the box have
run.
update_accounts FAILURE
SUCCESS
run_stats
FAILURE ACTIVATED
success(update_accounts)
SUCCESS
report_stats
FAILURE ACTIVATED ACTIVATED
success(run_stats)
SUCCESS
Box SUCCESS Box FAILURE Box Still RUNNING Box Still RUNNING
Job Definitions
do_statistics
3:00 a.m. Daily
box_success: success(update_accountes) AND success(run_stats) AND
success (report_stats)
box_failure: failure(update_accounts) OR failure(run_stats) OR
failure(report_stats)
run_stats
update_accounts report_stats
success(update_acco
success(run_stats)
unts)
Update Files Report Statistics
Run Statistics
do_statistics
update_accounts FAILURE
SUCCESS
SUCCESS
SUCCESS
Job Definitions
daily_accounts
3:00 a.m. Daily
daily_receipts daily_payables
daily_balance
box_terminator: y box_terminator: y
success(daily receipts)
AND
Process Receipts Process Payables
success(daily_payables)
Calculate Balance
Job Stream
daily_accounts
daily_receipts daily_payables
SUCCESS SUCCESS
FAILURE
FAILURE
daily_balance
Job Definitions
daily_accounts
3:00 a.m. Daily
daily_balance
daily_payables success(daily receipts)
daily_receipts AND success(daily_payables)
job_terminator: y
Calculate Balance
Process Receipts
Process Payables
Job Stream
daily_accounts
SUCCESS SUCCESS
FAILURE FAILURE
daily_balance
The first time cycle is run (for example, January 1), statuses behave as expected.
Job Definitions
job_Fwatch job_monthly
job_daily
3:00 a.m. Daily
1:00 a.m. First Day 2:00 a.m. First Day of
success(job_monthly)
of month Month
term_run_time:90 success(job_Fwatch)
Generate Report
Watch for File Re-index, Organize, Purge
Job Stream
Start
Date/Time job_Fwatch
Conditions Met File from
Mainframe
Job Dependency
Condition Met SUCCESS
Start
Date/Time job_monthly
Conditions Met
Event Status in
SUCCESS AutoSys Database=
SUCCESS
Job Dependency
Condition Met
job_daily
Date/Time
Conditions Met SUCCESS
On days of the month other than the 1st, “job_Fwatch” and “job_monthly” do
not run. They still have a status of SUCCESS in the database from the previous
run on the first of the month. As a result, “job_daily” will still run.
Job Definitions
job_Fwatch job_monthly
job_daily
3:00 a.m. Daily
1:00 a.m. First Day 2:00 a.m. First Day of
success(job_monthly)
of month Month
term_run_time:90 success(job_Fwatch)
Generate Report
Watch for File Re-index, Organize, Purge
Job Stream
NOT RUN
Date/Time job_Fwatch
NOT Conditions Met File from
Mainframe
X
Job Dependency
Condition NOT Met
NOT RUN
Date/Time job_monthly
NOT Conditions Met
Event Status in
AutoSys Database=
SUCCESS (from Jan 1)
Job Dependency
Condition Met
Start
job_daily
Date/Time
Conditions Met SUCCESS
On the first of the next month (for example, February 1), the file from the
mainframe fails to arrive; therefore, “job_monthly” does not run for the month.
However, its event status in the database is still SUCCESS from the previous
month, and as a result, “job_daily” runs in error.
Job Definitions
job_Fwatch job_monthly
job_daily
3:00 a.m. Daily
1:00 a.m. First Day 2:00 a.m. First Day of
success(job_monthly)
of month Month
term_run_time:90 success(job_Fwatch)
Generate Report
Watch for File Re-index, Organize, Purge
Job Stream
Start
Date/Time job_Fwatch
Conditions Met File from
Mainframe
X
term_run_time: 90
Job Dependency
Condition NOT Met TERMINATED
NOT RUN
Date/Time job_monthly
Conditions
Event Status in
AutoSys Database=
SUCCESS (from Jan 1)
Job Dependency
Condition Met
Start
job_daily
Date/Time
Conditions Met
To fix statuses that are time-related, you can use a sendevent command to
change them to INACTIVE at the end of their valid time period. You can create
another job to do this automatically.
Job Definitions
job_Fwatch job_monthly
job_daily
3:00 a.m. Daily
1:00 a.m. First Day 2:00 a.m. First Day of
success(job_monthly)
of month Month
term_run_time:90 success(job_Fwatch)
Generate Report
Watch for File Re-index, Organize, Purge
At 1:00 a.m. on first day of month, issue a CHANGE_STATUS on "job_monthly" using GUI
Send Event dialog or by issuing the following command:
sendevent -E CHANGE_STATUS -S INACTIVE -J job_monthly
Job Stream
Start
Date/Time job_Fwatch
Conditions Met File from
Job Dependency term_run_time: 90 Mainframe
Condition NOT Met
Date/Time
Conditions
NOT RUN
TERMINATED
job_monthly
X
Event Status in
AutoSys Database=
INACTIVE
Job Dependency
Condition NOT Met
Date/Time
Conditions Met
Desirable Result
Instead of issuing a sendevent command to change the status of the jobs, you
could put the monthly process in a box, and set box_failure or box_terminator
appropriately.
box_monthly
job_Fwatch job_monthly
job_daily
1:00 a.m. First Day
3:00 a.m. Daily
of Month success(job_Fwatch)
success(box_monthly)
box_terminator: y job_terminator: y
Generate Report
Watch for File Re-index, Organize, Purge
box_monthly
SUCCESS
job_monthly
SUCCESS
Job Dependency
TERMINATED Condition Met
The GUI refers to a set of windows and dialogs that you can use to define,
monitor, and manage jobs.
Open the graphical interface from its icon in the program group.
■ File
■ Tools
■ Preferences
■ Help
File Menu
Iconize All
Minimizes all the open Graphical User Interface windows and dialogs.
Exit
Closes all of the Graphical User Interface windows and dialogs, as well as
the GUI Control Panel.
Tools Menu
Send Event
Opens the Send Event Tool, which you can use to send events, as well as
cancel those previously sent events. For more information, see the topic
Using the Send Event Tool in the chapter “Scheduler Console,” in this guide.
Event Report
Opens the Job Detail Report tool, which displays an event or summary
report for a job. Opened from the GUI Control Panel, the Job Detail Report
tool displays the job selected in the Scheduler Console, or Alarm Manager
windows. For more information about the Job Detail Report tool, see the
topic Using the Job Detail Report Tool in the chapter “Scheduler Console,” in
this guide.
Preferences Menu
General
Opens the General dialog, which you can use to set the DB Retry Count and
the Alarm Color. In the DB Retry Count field, you can specify the number of
times each GUI component tries to connect to the database. After the
specified number of tries, the GUI stops trying to connect, and you must
close and restart the GUI component to restart the retry count. The Alarm
Color setting is used to indicate alarms in the Scheduler Console, Alarm
Sentry, and Alarm Manager. The No Alarm Color is used in the Alarm
Sentry to indicate there are no alarms for the instance.
Help Menu
About
Displays GUI Control Panel version number.
These are the Control Panel buttons and the actions they perform:
Scheduler Console
Displays the Scheduler Console, which lets you monitor jobs and alarms
across multiple instances. For information, see the chapter “Scheduler
Console,” in this guide.
Job Editor
Displays the Job Editor, which lets you define jobs. For information, see the
chapter “Defining Jobs Using the Job Editor,” in this guide.
Calendar Editor
Displays the Calendar Editor window, which lets you define run and
exclude calendars. For information, see the chapter “Calendar Editor,” in
this guide.
Monitor/Browser Editor
Displays the Monitor/Browser Editor, which lets you define and run
monitors and reports (or browsers). For information, see the chapter
“Monitoring and Reporting on Jobs,” in this guide.
Alarm Manager
Displays the Alarm Manager application, which lets you view and respond
to alarms across multiple instances. For information, see the chapter
“Managing Alarms,” in this guide.
Alarm Sentry
Displays the Alarm Sentry dialog, which indicates if there is an alarm for
any instance you are monitoring. For information, see the chapter
“Managing Alarms,” in this guide.
Admin GUI
Displays the administration dialog, which lets you implement several
advanced configurations, including cross-instance job dependencies, dual-
event servers, and shadow event processors. For more information on the
Admin GUI, see the chapter “Administrator” in this guide.
Exit
Exits the GUI Control Panel.
By default, the Job Editor opens in command job format. If you want to define a
file watcher or box job, choose New from the File menu, and indicate the Job
Type, along with the Name and Instance, in the New Job dialog.
Note: Not all of the Job Editor fields are described in this chapter, but the fields,
based on their corresponding job attributes, are discussed in detail in the chapter
“JIL/GUI Job Definitions,” in the Unicenter AutoSys Job Management for
Windows and UNIX Reference Guide.
The Job Editor opens for a command job, as the following illistration shows.
The Job Editor menu bar includes the following menus: File, Edit, Options, and
Help.
File Menu
New—Displays the New Job dialog in which you enter the name of the job, the
instance to which you are defining it and the job type as follows:
■ Job Type can be a Command, Box, or File Watcher job. After you indicate the
required information in the New Job dialog, click OK to open the
appropriate Job Editor display for the new job.
Open
Displays the Open dialog, which you can use to search for existing job
definitions. In the Pattern field of this dialog, you can specify any string,
including the percent (%), wildcard character, and then click Search to
display a list of those jobs with names that include the string. The default %
filter displays a list of all job names. You can also enter Job Name and click
OK.
Save
Stores the currently displayed job in the database, either modifying a pre-
existing job or creating a new definition. When you save a new job
definition, this option displays the Save As dialog.
Save As
Displays the Save As dialog in which you can enter the Instance to which
you want the definition saved and the new name for the job definition. If you
are saving the definition to another instance, you can keep the same job
definition name, if desired.
Delete
Displays a Delete dialog, which you can use to search the database for all job
definitions, and then select the definitions that you want to delete.
Delete Overrides
Deletes overrides defined for the current job. This option is enabled only if
there are one-time overrides defined for the job. You can also access this
option from the Delete Override button on the Basic Scheduling tab.
Add Overrides
Enables the fields in the Job Editor that you can modify for onetime
overrides. It disables all other fields. You can apply one-time overrides to a
job, and they are for the next run only. You can also access this option from
the Add One-time Override button on the Basic Scheduling tab.
Exit
Closes the Job Editor.
Note: When you first open a Job Editor, and when you use any of the dialogs to
connect to another instance, AutoSys establishes a connection to that instance’s
database and maintains that connection until you close the Job Editor.
Edit Menu
Clear
Clears the Job Editor without affecting the database, but maintains the
current job name.
Options Menu
Help Menu
Contents
Displays the Contents of the Unicenter AutoSys JM Help.
About
Displays the Job Editor version number.
The Job Editor displays all or part of the following tabs, depending on what job
type you are defining:
Basic
Contains the job description and basic job attribute fields.
Date/Time
Contains the date and time start-job condition and contains the time zone
setting. Instead of setting specific date and time starting conditions, you can
specify any run or exclude calendars for the job.
Alarms/Terminators
Contains the minimum and maximum runtime, alarm behavior, and the box
terminator settings.
Misc
Contains the settings for job restart, delete job after completion, and
automatic hold for jobs in a box job, and it contains job-specific execute and
edit permissions.
Command Info
Contains the queuing and load balancing, exit code, heartbeat interval, and
file redirect settings.
Resource/Profile
Contains the resource check and the path to the job profile settings.
The bottom portion, or status area, of the Job Editor lists the fields that require
values for the job type you are defining. That is, each job type requires that you
set specific attributes, and those attributes are listed in the status area of the
window.
In addition, the status area indicates syntax errors and other problems with the
job definition.
All jobs require a Name, Job Type, and Owner. You indicate the Name and Job
Type when you open a new Job Editor, or when you save a job definition. The
Owner of the job is defined as the logged-on user who started the AutoSys GUI.
In addition, each Job Type requires a set of values.
In addition to the Name, Job Type, and Owner, you must supply the following
values for command jobs on the Job Editor Basic tab:
Command
Indicates the command to run. When issuing commands that are to run on a
different operating system, you must use the syntax appropriate to the
operating system of the client machine on which the job will run. The job
Owner must be able to log on to the specified client Machine and have
operating system permissions to execute the specified command.
Machine
Indicates the client machine on which to run the job. The job Owner must
have permission to access this machine and to execute the specified
command at this machine.
Name, Job Type, and Owner are the only required values for box jobs.
In addition to the Name, Job Type, and Owner, you must supply the following
values for file watcher jobs on the Job Editor Basic tab:
Machine
Indicates the client machine on which to run the job. The job Owner must
have permission to access this machine and to execute the specified
command at this machine. For jobs running on Windows machines, the
owner must have a user account on the machine, and the associated logon ID
and password must be entered into the database (using the autosys_secure
command).
File to watch
Indicates the name of the file to watch for. This must be a legal filename and
full path to the file.
Note: You can use the File to watch setting in combination with the optional
values Time Interval (in seconds) to determine steady state and Minimum file
size (in bytes), which indicate when a file has arrived.
3. In the Send to Machine field, enter the machine on which the command will
be executed, by doing one of the following:
■ Select localhost from the drop-down list, which specifies to run the job
on the event processor machine.
Note: In the Send to Machine field, you must enter a valid, licensed client
machine. If you add a machine at this time, you should add your own
machine name. In addition, for Windows, you must have already entered
into the database a valid Windows user ID and password for the Owner’s
user account on the machine. If you use localhost, you must have a Windows
user ID and password in the database for user@localhost (entered using the
autosys_secure command). However, if you are running with a shadow
event processor, you should not use the localhost machine setting.
5. In the Save As dialog, select an Instance and enter the new job name:
test_run
Click OK.
Your entries in the Job Editor should look similar to those in the following
illistration. Leave the Job Editor open and use it for the next example.
WARNING! For the host portion of the Owner field, Unicenter AutoSys JM uses
the Host Name on the DNS tab of the TCP/IP Protocol dialog; it does not use the
Computer Name on the Identification tab of the Windows Control Panel
Network dialog.
Note: The Owner field for the job defaults to the currently logged-on user. The
Instance is the instance that you chose in the Save As dialog.
This section describes how to create a basic file watcher job. This job will watch
for an end-of-day transaction file called EOD_trans_file, and it will have specific
file watching criteria.
A New Job dialog opens, in which you can enter the Name, Instance, and Job
Type.
d. Click OK.
4. In the Machine field, select either localhost (that is, event processor machine)
or the machine you entered for the previous example.
You must use a valid, licensed client machine, and you must have already
entered into the AutoSys database a valid Windows user ID and password
for the Owner’s user account on the machine.
5. In the Time Interval (secs) to determine steady state field, enter the following
time interval:
60
This setting indicates that Unicenter AutoSys JM will check for the file’s
existence every 60 seconds, and it will check if the file has grown between
checks. If the file has not changed in size, it is considered to be in a “steady
state.”
6. In the Minimum file size (in bytes) field, enter the following:
50000
This setting indicates the minimum file size that should be reached before
the file can be considered complete. Therefore, the file must reach 50000
bytes and be in a “steady state” before the file watcher job will complete
with a SUCCESS status.
7. To save the job, choose File, Save, which opens the Save As dialog, and click
OK.
Your entries in the Job Editor should look similar to those in the following
illistration. Leave the Job Editor open to use in the next example.
Note: The Owner field for the job defaults to the currently logged-on user. The
Instance is the instance that you chose in the New Job dialog.
A New Job dialog opens, in which you can enter the Name, Instance, and Job
Type.
d. Click OK.
3. In the Command field, enter the command that runs when the file watcher
completes, for example:
%HOMEPATH%\post.exe
4. In the Dependencies field, enter the starting condition, in this case the
successful completion of the file watcher job:
S(EOD-watch)
Note: If you want to add a list of Dependencies, you can click the button to
the right of the field and enter the job dependencies in the Conditions dialog.
5. In the Machine field, select either localhost (that is, event processor machine)
or the machine you entered for the first example.
You must use a valid, licensed client machine, and you must have already
entered into the database a valid Windows user ID and password for the
Owner’s user account on the machine.
6. Choose File, Save, which opens the Save As dialog, and click OK.
The Job Editor should look similar to the following illistration. Leave the Job
Editor open to use for the next example.
Note: The Owner field for the job defaults to the currently logged-on user. The
Instance is the instance that you chose in the New Job dialog.
■ Modify the EOD_post job that you just created to put it in the box and make
it no longer individually dependent on the file watcher job.
For detailed information on box jobs, see the chapter “Box Job Logic,” in this
guide.
d. Click OK.
A Job Editor opens in which you can define this box job.
4. Choose File, Save, which opens the Save As dialog, and then click OK.
The Job Editor should look similar to the following illistration. Leave the Job
Editor open.
Note: The Owner field for the job defaults to the currently logged-on user. The
Instance is the instance that you chose in the New Job dialog.
This section describes how to modify the existing EOD_post job to remove its
dependencies and place it in the EOD_box job you just created.
Note: Before you modify any job, you must ensure that the job is not running.
The Open dialog opens, which you can use to search for and select existing
job names.
3. Click Search.
The names of the jobs you defined in this chapter should be displayed, as
shown in the following illistration:
Note: In the Pattern field, you can enter some portion of the job name,
followed by the percent (%) wildcard character. The percent (%) character
will match any string of one or more characters in the job name. Typing just
the % wildcard character will display all the jobs defined in the database. In
addition, to open an existing job, you can enter the full job name directly into
the Job Name field and click OK.
4. From the list of job names in the Open dialog, select EOD_post and click OK.
5. In the Job Editor, delete the Dependencies setting. When you place this job in
a box job, it will inherit the Dependencies (starting conditions) of that box.
7. In the Box Selection dialog, enter EOD_box in the Box Name field and click
OK.
This box job is entered in the Job Editor Box field, placing the EOD_post
command job in the box job.
Note: You can also enter the box job name directly into the Box field of the
Job Editor.
To bring the Job Editor Date/Time tab to the front, click the tab. To enable the
fields, click the Date/Time Conditions check box, as shown in the following
illistration:
After you enable the tab, you must select both a Day setting and a Time setting.
The Day settings are on the left side of the dialog, and the Time settings are on
the right side.
In addition, you can set the Time Zone for the job. The Time Zone indicates that
the selected time settings should be based on that particular “zone” setting. If
you do not set a Time Zone for the job, Unicenter AutoSys JM uses the time zone
of the event server.
You can also assign a specific “run window.” The Run Window setting is in a 24-
hour format, and it indicates the span of time during which the job will be
allowed to start.
When setting Date conditions, you can indicate that a job should run on specific
days of the week or on all days of the week. You can also use a custom calendar
to indicate that a job should run on the days defined in the calendar, or that it
should not run on the days indicated in the calendar. When you set Date
conditions, you must also set Time conditions to indicate the time of day the job
should run.
Note: You can set only one of the Run Days or Run Calendar Date options. They
are exclusive settings. However, you can set an Exclude Calendar in combination
with either of these Date options.
Select Run Days radio, and then click the check boxes next to the days of the
week on which you want the job to run.
Click None.
You can define jobs to run on specific dates, rather than specific days of the
week. To do this, you must define a calendar by using the Calendar Editor, and
then you set that calendar as the Run Calendar.
Click Run Calendar radio, and then select a calendar name from the Run
Calendar drop-down list.
Alternatively, you can specify a calendar that defines days on which the job
must not run. To do this, you must define a calendar, by using the Calendar
Editor, and then you set that calendar as the Exclude Calendar.
Click Exclude Calendar radio, and then select a calendar name from the
Exclude Calendar drop-down list.
For information on using the Calendar Editor, see the chapter “Calendar Editor,”
in this guide.
After you set the date condition, you must set a time starting condition. The time
starting condition indicates that Unicenter AutoSys JM should run the job at that
time, or times, on the days or dates on which the job is defined to run.
Select the Times of Day radio button and indicate the time of day in the field
below it.
Separate multiple time settings with commas. The times you indicate in this
field must be in a 24-hour format.
Select the Minutes after Each Hour radio button and indicate the number of
minutes past that time in the field below.
The minute values you indicate in this field must be a number between 1
and 59. You can use a comma-separated list to indicate more than one
setting.
Select the Minutes after Each Hour radio button, enter a minute setting in the
Every Minutes field, and click Apply.
This sets the minutes interval in the Minutes after Each Hour field. The
Every Minutes settings must be a number between 1 and 59.
Note: If a job runs daily at the same time (example: 12:00) and you EDIT this job
definition and save this job at (11:59), the job will not run today but will run
tomorrow at (12:00).
When a start time job definition is written to the database within “one minute” of
the current run time, the start time will be placed in the future, meaning
tomorrow. However, if the start time is two minutes or greater from the current
save time the job will run today.
You can base the time settings for a job on a specific time zone. To do this, enter a
valid time zone in the Time Zone field (above the time settings on this tab).
For information on specifying a time zone in a job definition, see timezone in the
chapter “JIL/GUI Job Definitions,” in the Unicenter AutoSys Job Management
for Windows and UNIX Reference Guide.
The “test_run” job you created at the beginning of the chapter can only be
executed if it is started manually, by using the Send Event Tool or the sendevent
command. However, you could define this job to run on certain days at certain
times. This section describes how to modify the job to run at 10:00 a.m. and 2:00
p.m. on Mondays, Wednesdays, and Fridays.
2. In the Open dialog, enter test_run in the Job Name field, and then click OK.
4. Click the Date/Time Conditions checkbox to enable the fields on this tab.
5. Select the Run Days radio button and single-click the Monday, Wednesday,
and Friday checkboxes. You can toggle the day check boxes on and off; they
are not mutually exclusive.
6. Select the Times of Day radio button, then enter the following times (in a 24
hour format) in the enabled field:
10:00, 14:00
Note: The times do not have to be enclosed in quotes when they are entered
in the Job Editor, unlike jobs entered using the Job Information Language
(JIL).
The Job Editor Time/Date tab should look similar to the following illistration.
Leave the Job Editor open to use in the next example.
Deleting Jobs
You can use the Job Editor to delete job definitions from the database. You can
delete any jobs, regardless of type, in the same way. To delete a job definition,
however, you must be either the owner of the job or the edit superuser.
To delete a job, follow these steps using the open Job Editor:
The Delete Jobs dialog opens. It should look similar to the following
illistration.
2. Ensure that you are operating on the correct Instance. Then, in the Pattern
field, enter a name, partial name with the percent (%) wildcard character, or
the “%” wildcard character. Click Search.
3. From the list of job names, select one or more jobs to delete. To select one job,
click it. To select a continuous section of jobs, click a job, press Shift and click
the ending of the list. To select several jobs in the list, press Ctrl and click
each job. You must select at least one job.
4. Click OK.
Note: If you have a job open, and you delete it using the Delete Jobs dialog, it
will still be in the Job Editor. If you change any setting and try to open another
definition, you are asked if you want to save the current (deleted) definition. If
you choose to save it, the job definition is written to the database (as if it is a new
definition).
When using the Job Editor to delete a box job, Unicenter AutoSys JM will delete
the box and all jobs within that box. Currently, there is no way to delete just the
box itself and not its contents when using the Job Editor.
For information on deleting box jobs with JIL, see Deleting a Job in the chapter
“Defining Jobs Using JIL,” in this guide.
■ On the Basic Tab, click the Add One Time Override button.
Both of these actions disable the fields that you cannot modify for one-time
overrides. The Job Editor fields that you can use in a job override definition
are listed in tables in Enabled Job Editor Fields for One-time Overrides in
this chapter.
3. Use the Job Editor to specify overrides. Enter new values into the fields, or
enter NULL to turn off the set value.
Note: To specify a date or time override, bring the Date/Time tab to the
front and select one of the choices from the drop-down list. This action will
enable the appropriate fields.
Job overrides are applied for the next run of the job only. If a RESTART event is
generated because of system problems, Unicenter AutoSys JM will re-issue a job
override until the job actually runs once, or until the maximum number of retries
limit is met. After this, the override is deleted.
Onetime job overrides are applied to jobs that are restarted due to system
problems, but are not applied to jobs restarted because of application failures.
System problems include machine unavailability, media failures, and insufficient
disk space. Application failures include inability to read or write a file, command
not found, exit status greater than the defined maximum exit status for success,
and various syntax errors.
The Job Editor fields that you can use in a job override definition are listed in
tables in Enabled Job Editor Fields for Onetime Overrides in this chapter.
Note: The maximum number of job restarts after system or network failures is
specified in the Max Restart Trys field on the Administrator event processor
screen.
1. In the Job Editor, open the job for which you want to delete the overrides.
Note: If the job is already open in the Job Editor, you must save it before you
can delete the defined overrides.
Both of these actions display a confirmation dialog. Click Yes in this dialog
to delete the defined overrides.
3. Choose File, Save. When the job definition is written to the database, a
confirmation dialog is displayed. Click OK to dismiss the dialog.
The tables in this section list the fields that are enabled for one-time overrides.
The following table lists the Job Editor fields for command job overrides:
Tab Fields
Basic ■ Command
■ Dependencies
■ Send To Machine
Tab Fields
Misc ■ Number of times to restart this job after failure
The following table lists the Job Editor fields for box job overrides:
Tab Fields
Basic ■ Dependencies
The following table lists the Job Editor fields for file watcher jobs:
Tab Fields
Basic ■ File to watch
■ Dependencies
■ Send To Machine
When writing a JIL script, you must follow the syntax rules listed below.
Rule 1
where:
sub_command Is a sub-command.
For more information on JIL Sub-commands see the section JIL Sub-commands,
in this chapter.
Rule 2
where:
Rule 3
Multiple attribute statements can be entered on the same line, but the lines must
be separated by at least one space.
Rule 4
Rule 5
Legal value settings can include any of the following characters: uppercase and
lowercase letters, hyphens, underscores, numbers, colons (if the colon is escaped
with quotes or a preceding backslash), and the at character (@).
Rule 6
Rule 7
■ An entire line can be commented by placing a pound sign, (#) in the first
column.
or:
JIL Sub-commands
JIL sub-commands are used to create, modify, override, or delete a job definition.
These sub-commands are listed in the following table.
As stated earlier, a completed JIL script is called a job definition. This job
definition must be submitted to the database before the job it defines can be run.
You can submit a job to the database using one of the following methods (at the
Instance Command Prompt window that is associated with the instance for
which you are defining this job):
■ Submit the job by redirecting a JIL script file to the jil command, for example:
jil < my_jil_script
■ Interactively submit it by issuing the jil command and pressing Return. Then
entering JIL statements at the provided Command Prompts
jil>>
Both of these methods are analogous to saving a job definition in the GUI, using
the Job Editor.
Running JIL
After a job definition has been submitted to the database, it will be started
according to the starting parameters specified in its JIL script. That is, the Event
Processor will continually poll the database and when it determines that the
starting parameters have been met, it will run the job.
If a JIL script does not specify any starting parameters for a job, the job will not
be started automatically by the Event Processor; it will start only if you issue the
sendevent command. For example, assume a job named “test_install” has no
starting parameters specified in its JIL script. The only way to start it would be to
issue the following command:
sendevent -E STARTJOB -J test_install
This command tells the Event Processor to start the job named test_install.
For more information about the sendevent command, see the chapter
“Commands,” in the Unicenter AutoSys Job Management for Windows and
UNIX Reference Guide.
■ To watch for a file named “EodTransFile” in the C:\tmp directory (this file
will contain end of day transactions).
■ Determine if the file has reached the minimum file size of 50,000 bytes.
Until the minimum file size of 50,000 bytes has been reached, the file will not be
considered as complete. When the file reaches this minimum size and does not
change between check intervals (60 seconds in this example) it is considered
complete. When this occurs, the File Watcher Job will end with a SUCCESS
condition.
For example, the JIL script required to define a dependent Command Job named
“EOD_post” is given below. “EOD_post” will be specified to run on the same
machine as the File Watcher Job created in the previous section, since it
presumably will need the watched-for file to process. And, it will be dependent
on the success of the File Watcher Job.
insert_job: EOD_post
job_type: c
machine: tibet
condition: success(EOD_watch)
command: %HOMEPATH%\POST.EXE
■ To run the job only if the File Watcher Job named “EOD_watch” completes
with a SUCCESS status.
For more information on defining job profiles, see the section Job Profiles in
the chapter “Jobs,” in this guide. For information on the profile job attribute,
see the chapter “JIL/GUI Job Definitions,” in the Unicenter AutoSys Job
Management for Windows and UNIX Reference Guide.
Creating a Box
Box Jobs are a convenient way to start multiple jobs. When you put jobs in a box,
you only have to start a single job (the box) in order for all the jobs in the box to
start running.
Assume you want to schedule a group of jobs to all start running once the File
Watcher completes successfully. Rather than make each job dependent on the
File Watcher, you can create a box that is dependent on the File Watcher, and
place all of the jobs in the box.
Now you will create a box, then change the job you just created to put it in the
box, and then make it no longer individually dependent on the File Watcher. The
JIL script required to define a Box Job named “EOD_box” is given following:
insert_job: EOD_box
job_type: b
condition: success(EOD_watch)
■ To run the job only if the File Watcher Job named “EOD_watch” completes
with a SUCCESS status.
For information on Box Jobs, see the chapter “Box Job Logic,” in this guide.
Changing a Job
To place an existing job in a box, you need to change the “EOD_post” Command
Job that was created previously. You will place the “EOD_post” job in the newly-
created box.
You should make sure a job is not running before you modify or delete it. To
change a job, you can either use the update_job sub-command, or you can delete
the job definition, using the delete_job sub-command, then redefine the job using
the insert_job sub-command. The latter scenario is particularly useful when
many non-default attributes have been specified, and you want to “unset” them
rather than “reset” them; in other words, you want to de-activate them.
However, you’ll have to respecify any of the attributes that need to remain the
same. So, in the example below, you’ll use the update method. The JIL script
required to change the “EOD-post” job and to put it in the “EOD_box” is given
following:
update_job: EOD_post
condition: NULL
box_name: EOD_box
1. Remove the starting condition from the job definition, since the job will
inherit the starting condition of the box in which it is placed.
The “EOD_post” Command Job is now in the “EOD_box” Box Job, and has
inherited the box’s starting parameters.
4. On each of these three days, start the job at 10:00 a.m. and 2:00 p.m.
The times shown in the script above are quoted, since they contain a colon. They
could also have been escaped by using backslashes (\), as shown following:
start_times: 10\:00, 14\:00
If you wanted the time settings for the job to be based on a specific time zone,
you would use the timezone attribute. If you specify a time zone that includes a
colon, you must quote the time zone name like:
timezone: "IST-5:30"
If you do not quote a time zone that contains a colon, the colon will be
interpreted as a delimiter, producing unexpected results. If you had wanted to
run the job every day, rather than only on specific days, you could have specified
the all value, instead of listing the individual day values. Or, if you had wanted
to schedule the job for specific dates, rather than specific days of the week, you
could have specified a custom calendar. First, you would have had to define the
calendar, using the Calendar Editor, or the autocal_asc command. Then, you
would specify the calendar name, “weekday_cal”, using the following JIL
statement:
run_calendar: weekday_cal
Alternatively, you could have specified a custom calendar specifying the days on
which the job was not to be run, “holiday_cal”, using the following JIL
statement:
exclude_calendar: holiday_cal
If you wanted the job to run at specific times every hour, as opposed to specific
times of day, the minutes past every hour could have been specified. For
example, to run a job at a quarter after and a quarter before each hour, use the
following JIL statement:
start_mins: 15, 45
Deleting a Job
Now you will delete the “test_run” job, which you specified at the beginning of
this chapter. To delete the “test_run” job, enter the following JIL sub-command:
delete_job: test_run
The delete_job sub-command checks the job_cond table and notifies you if
dependent conditions for the deleted job exist. This functionality only works
when JIL is in the job verification mode, which is the default.
To delete a box, and recursively delete every job in that box use the delete_box
sub-command, like:
delete_box: EOD_box
To delete a box, but leave its contents intact use the delete_job sub-command on
the box, like:
delete_job: EOD_box
Using JIL, there are a number of other attributes which you can configure. These
attributes are described in detail in the chapter “JIL/GUI Job Definitions,”in the
Unicenter AutoSys Job Management for Windows and UNIX Reference Guide.
This reference chapter provides complete information on all job attributes
specified using JIL.
Note: The maximum number of job restarts after system or network failures is
specified in the Max Restart Trys field on the Administrator Event Processor
screen. One-time job overrides will be applied to jobs restarted due to system
problems, but will not be applied to jobs restarted because of application
failures. System problems include such things as machine unavailability, media
failures, or insufficient disk space. Application failures include such things as
inability to read or write a file, command not found, exit status greater than the
defined maximum exit status for success, or various syntax errors.
Machine start_times
max_run_alarm std_err_file
JIL will not accept an override if it results in an invalid job definition. For
example, if a job definition has only one starting condition, start_times, JIL will
not allow you to set the start_times attribute to NULL because removing the start
condition makes the job definition invalid (no start time could be calculated).
To set job overrides, you use the override_job sub-command; you only need to
specify those attributes that you want to override. Using this command, you can
also temporarily delete a job attribute. For example, if you wanted to run a job
named “RunData” with no conditions (where some had been previously
specified) and you wanted to output the results to a different output file, you
would enter a JIL script like:
override_job: RunData
condition: NULL
std_out_file: "C:\tmp\SpecialRun.out"
To cancel the job overrides specified in the script above, you would enter the
following JIL script:
override_job: RunData delete
Note: Once you have submitted a JIL script to the database, you cannot view the
JIL script and edit a job override. If you want to change the override values, you
must submit another JIL script with new values, or use the Job Editor. However,
the original override (for example, the first over_num) remains stored in the
“overjob” table in the database.
An example of the output generated by the autorep command for the previously
shown job definition is provided in the Examples section for the autorep
command in the chapter “Commands,” in the Unicenter AutoSys Job
Management for Windows and UNIX Reference Guide.
Calendar Editor
9
This chapter describes how to create calendars by using the Calendar Editor and
how to use the calendars you create with jobs.
■ Set, unset, or block certain dates, such as holidays, when editing calendars.
In the job definition, use one of the following methods to apply a calendar:
■ With the GUI, go to the Job Editor Date/Time tab, select either Run Calendar
or Exclude Calendar, and select a calendar from the drop-down list.
■ With JIL, use a single attribute in the job definition: either run_calendar or
exclude_calendar.
You can set the calendar in conjunction with other time attributes to precisely
control when a job will or will not start.
For example, you could create a calendar called “holidays” containing the dates
of all corporate holidays, and then you could define the job with the Job Editor,
you would do the following:
This action checks the box and enables the fields on the Date/Time tab.
■ For a job that you want to start on holidays, click the Run Calendar radio
button.
■ For a job that you do not want to start on holidays, click the Exclude
Calendar check box.
3. Select the defined holiday calendar from the calendar drop-down list that is
to the right of the option you selected.
When using these attributes, or their Job Editor field equivalents, keep the
following in mind.
■ Jobs scheduled with a Run Calendar are scheduled to start on every day
specified in the calendar, at the times specified in the calendar or in the
Times of Day or Minutes after Each Hour attribute. If present in the job
definition, both of these attributes override the times specified for the
defined Run Calendar. By default, if no start time is specified, calendar-
scheduled jobs start at midnight.
Note: You can only assign times to calendars when using the command-line
calendar definition tool, autocal_asc. For information, see autocal_asc in the
chapter “Commands,” in the Unicenter AutoSys Job Management for
Windows and UNIX Reference Guide.
■ Jobs scheduled with the Run Calendar are scheduled to run on the next
available date in that calendar. Dates previous to the current date are
ignored.
■ Jobs scheduled with an Exclude Calendar can make use of other starting
conditions in the job definition. In this case, Unicenter AutoSys JM evaluates
the start conditions and, if they are true, checks if the date is set in the
Exclude Calendar. If the date is in the defined calendar, the job will not be
started, and its status will be changed to INACTIVE.
For information on using the Job Editor, see the chapter “Defining Jobs Using the
Job Editor,” in this guide. For information about these attributes, see their
reference pages in the chapter “JIL/GUI Job Definitions,” in the Unicenter
AutoSys Job Management for Windows and UNIX Reference Guide.
1. Open the GUI Control Panel from the Graphical Interface icon in the
AutoSys program group.
2. Click the Calendar Editor button in the GUI control panel. This opens the
Calendar Editor:
■ Menu Bar
■ Navigation Controls
■ Calendar Display
At the top of the Calendar Editor is the menu bar that contains the following
menus: File, Edit, Utilities, Preferences, and Help.
File Menu
New
Displays the New Calendar dialog in which you enter the Instance and new
Calendar Name, then click OK. The new Calendar Name must be a unique
job name for the specific instance. The name must be from 1 to 30
alphanumeric characters, and white space indicates the end of the name.
Embedded spaces and tabs are illegal. When you click OK, an empty
Calendar Editor displays.
Open
Displays the Calendar Selection dialog that you can use to open an existing
calendar.
Save
Saves the calendar currently being edited and writes it to the database, using
its current name. The first time you save a calendar, this option displays the
Save As dialog.
Save As
Displays the Save As dialog in which you can enter both the name of the
Instance to which you want the calendar saved and the new calendar name
for the calendar. If you want to save a definition to another instance and
keep the definition for the current instance, you can use this option to do so,
and you can keep the same calendar name for the new instance.
Delete
Displays the Delete Calendar dialog in which you can search for and select
the calendar or calendars to delete.
Rename
Displays the Rename dialog in which you can enter a different instance
and/or a new name for the calendar you are saving. Before you can use this
option, the calendar definition must be saved to the defining instance. When
you rename a calendar, it is saved to the new name, and the old calendar
definition is deleted from the database. If you want to keep the current
definition in the database, use the Save As option.
Import
Displays the Open dialog that allows you to select the directory and filename
of a text file that contains calendar definitions that you want to import into
the database.
Export All
Displays the Save As dialog that permits you to select the directory and
name of the file to which you want to save all the calendars in the database,
in text form. You can export all definitions at once only.
Print
Prints the current calendar in text format.
Graphical Print
Prints the current calendar in a graphical format, as it appears on the screen.
Exit
Exits the application.
Note: When you first select an instance in any dialogs of the Calendar Editor,
Unicenter AutoSys JM establishes a connection to that instance’s database. It
maintains that connection until you close the Calendar Editor.
Edit Menu
Apply Rule
Displays the Term Calendar Rule dialog in which you can set multiple dates
using a variety of rule options. For more information, see Applying Rules to
Calendars in this chapter.
Revert
Resets the state of all the dates in the current calendar to those last saved to
the database.
Clear
Clears the calendar settings; all dates are returned to the unset state.
Utilities Menu
Preferences Menu
Months in View
Displays a submenu that allows you to choose how many months are
displayed on one calendar screen. You can choose one of the following
options: One, Four, Six, Nine, or Twelve.
Colors
Displays a submenu that allows you to choose one of the following date
selection types: Selected, Blocked, or Conflicting. When you choose one of
these options, a Selected Color dialog displays, and you can use this dialog
to set the color for the date selection type. The following colors are used by
default:
■ Unset dates use the background color of the Calendar Editor application
Years
Displays a submenu that allows you to select the number of years that the
current calendar should include and that the Calendar Editor should
display. The default range is the current year. You can extend the calendar to
include additional years by selecting one of the following options:
The Years option limits how far into the future you can set dates in the current
calendar. You can increase and decrease the date range of a calendar. Also, when
you open an existing calendar, its date range, or the current date range,
whichever is greater, becomes the new date range for the current Calendar
Editor session.
Note: The Calendar Editor allows you to set dates in the current year that have
already past, if you do so, however, Unicenter AutoSys JM ignores these dates.
Help Menu
Contents
Displays the table of contents for the Unicenter AutoSys JM Help.
About
Displays the Calendar Editor version number.
Selections area
Allows you to navigate through and select dates.
Conflicts area
Allows you to view the number of Conflicts and navigate through them.
Selections Area
You can use the buttons in the Selections area to move to a particular date whose
state has been set. You can use the arrow buttons to do the following:
■ Move focus to the first date in the calendar that has been set.
■ Move focus to the previous date in the calendar that has been set relative to
the date that currently has the focus.
■ Move focus to the next date in the calendar that has been set relative to the
date that currently has the focus.
■ Move focus to the last date in the calendar that has been set.
When you use the Selections buttons and the focus changes to a date that is not
currently displayed, the calendar display shifts to bring that date into view.
Conflicts Area
The Conflicts area displays the number of conflicts and allows you to navigate
among those conflicts. When there are “0 Conflicts,” the navigation buttons are
disabled. The Conflicts field is updated each time you apply a rule or manually
change a Conflicting date to another state. If there are Conflicts, the number of
conflicts is displayed, and the navigation buttons are enabled. You can move to
the First, Previous, Next, or Last conflict.
Note: When you save a calendar containing unresolved conflicts to the database,
you are prompted that conflicts exist. If you choose to ignore the prompt and
save anyway, the Conflicting dates are lost; they are not written to the database.
All other date states are saved.
Instance Area
To the right of the Conflicts area is the Instance drop-down list. When you select
an instance, the Calendars drop-down list contains the appropriate defined
calendars.
Calendars Area
The Calendars drop-down list contains all of the defined calendars for the
selected instance (in the Instance drop-down list).
The Calendar Editor by default displays six months of the calendar currently
being edited. You can change the display from the Preferences, Months in View
menu.
The title bar of the window displays the name of the current calendar.
Date States
You can set the dates on the calendar to one of the following states:
Unset
Indicates the date is not set. When you open a new calendar, all of the dates
are unset.
Selected
Indicates the date is set for that calendar.
Blocked
Indicates the date is ineligible for setting when applying a rule.
You can cycle through these three states by clicking a date multiple times. If you
click, the date’s state is Selected; if you click again, the date’s state is Blocked;
and if you click the date a third time, the date’s state is Unset. The current state
of each date is indicated by its color, as indicated from the Preferences, Colors
submenu.
■ A date that qualifies for setting by the rule was previously set to the Blocked
state, and rescheduling has not occurred. (Rescheduling may not have
occurred if either a rescheduling rule has not been applied, or an applied
rescheduling rule cannot find a nonconflicting date to move to.)
For example, you marked all holidays as Blocked, including January 1st, and,
you want to apply a rule to set the “first day of each month.” The rule would
conflict with the January 1st Blocked date. If there is no rescheduling rule in
effect, such as “move to the next weekday,” or if the rescheduling rule specifies
to move backwards, which results in “falling off” the calendar, a Conflicting
state is generated. In this case, you must manually correct the situation before
attempting to save the calendar to the database. You can ignore the Conflicting
state when you save, but if you do so, all Conflicting dates are lost—they are not
written to the database.
For more information about rules, see Applying Rules to Calendars in this
chapter.
Note: Calendars created with the Calendar Editor are stored in the database.
Only the Selected dates are stored. Dates designated as Blocked are only in effect
while editing a calendar. That is, the Blocked state is only useful while applying
rules. Blocked dates and rules are not stored in the database.
Creating a Calendar
3. From the Preferences menu, select Years, and select Two. Then, using the
scroll bar, scroll down to 2003 in the calendar display area.
4. In the Calendar Editor, select the holiday dates by clicking each date. If the
desired dates are not displayed, use the scroll bar to bring them into view.
5. Choose File, Save. Enter us_hol_03 then click OK in the Save As dialog.
Calendars exist to simplify the scheduling of job runs; therefore, only current
and future dates are applicable. While the Calendar Editor allows you to set
dates in the past, they are ignored. Moreover, when you merge calendars to
create a new calendar, any dates prior to today are dropped from the new
calendar.
The Calendar Selection dialog allows you to select which calendar to open.
2. Click Search.
The Calendar Selection dialog contains a list of all the calendars that
currently exist in the database for this instance.
In the Pattern field of the Calendar Selection dialog, you can specify any
string, including the percent (%) wildcard character, and click Search to list
those calendars whose names include the string. The default filter, “%,” lists
all of the calendar names.
For example, to list only those calendar names starting with the string
“holiday,” such as “holiday_all” and “holiday_company,” you specify the
filter “holiday%,” and click the Search button. The list displays only the
matching calendar names.
■ Select a calendar in the list, and click OK. This action opens the calendar
and exits the Calendar Selection dialog.
To open the Term Calendar Rule dialog from the Calendar Editor:
1. From the Edit menu, choose the Apply Rule option. This action opens the
Term Calendar Rule dialog:
The Term Calendar Rule dialog is divided into the following regions:
Rule Specification
The top portion of the dialog.
Control
The bottom portion of the dialog containing the OK, Apply, and Cancel
buttons. The OK button applies the current rule and dismisses the dialog.
The Apply button applies the rule and does not dismiss the dialog. The
Cancel button dismisses the dialog without applying the rule.
The Rule Specification region provides a wide variety of options to specify the
dates in the selected calendar that you want to affect and to what states those
dates should be set. This region consists of the following three areas:
Action
Allows you to set the action the rule will initiate.
Date Range
Allows you to set the range of dates the rule will include.
Select the appropriate Action, Date Range, Occurrences, Day, and Period,
and click Apply, or OK.
Action Area
In the Action Area, you can select an action, which is one of the following states
to which the selected dates will be set. You can only select only one of these
actions:
Set Dates
Changes the state of the selected dates to Selected.
Unset Dates
Changes the state of the selected dates to Unset.
Block Dates
Changes the state of the selected dates to Blocked, so that this date will not
be set during any subsequent rule applications.
In the Date Range area, you can specify the date range over which the rule
should apply. By default, the entire date range of the selected calendar is listed,
starting with the current date; however, you can limit the date range by selecting
an option from either the All Year pull-down menu, or by specifying an actual
date range in the All Days in Range Starting and Ending edit fields. When you
enter a date range, the dates must fall within the display range set in the Years
option of the Preferences menu. The Range Starting date must be on or after the
current date.
Note: Rules are not applied to any date prior to today’s date.
The Date Selection Rule area contains the following three sub areas: Occurrences,
Day, and Period. The settings you select in these three areas must make sense
together. For usage examples, see Date Selection Rule Examples.
Occurrences
Allows you to specify the occurrence of a day for which the rule should be
applied (for example, First, Last, Every nth). Select one or more options by
clicking the corresponding check box.
Day
Allows you to specify on what days of the week the rule should be applied.
Select one of the following three options: Day (Any), Weekday, or Specific
Days. If you select Specific Days, you must also select one or more of the
specific days of the week.
Period
Allows you to specify the period during which the rule should be applied.
Select only one of the following options: No Period, Monthly, Quarterly,
Every n weeks, or the days in a specified Calendar.
The No Period option is used for nonrepeating periods. Usually, you would
use the No Period option with the Every or Every nth option in the
Occurrences sub area.
You could choose the First/Monday Quarterly to indicate the first Monday of
each quarter.
If you select the Calendar Period option, only the dates specified in the indicated
calendar are used when applying the rule. You can enter the calendar name
directly, or you can click the Calendar drop-down list button to display a list of
existing calendars from which you can choose a calendar for the period.
The examples in this section illustrate the use of the Date Selection Rule options.
Note: When you first start applying rules to your calendars, we recommend that
you experiment a little bit. Remember, you can always revert to the last saved
version of a calendar by using the Revert option from the Edit menu, or you can
clear everything using the Clear option from the Edit menu.
Example One Set the 3rd Tuesday of every month throughout the entire currently selected
calendar:
1. Open the Term Calendar Rule dialog by choosing Edit, Apply Rule.
2. In the Action area of the Term Calendar Rule dialog, do not change the
default Set Dates selection.
3. In the Date Range area, do not change the default All Days in Range setting,
which indicates the calendar’s entire range.
4. In the Occurrences sub area, select either the Third option, or type “3” in the
nth option field.
5. In the Day sub area, select Tuesday, which automatically selects the Specific
Days option.
7. Click OK to apply the rule to the calendar you are currently editing, and to
close the dialog.
Example Two Block every holiday date and prevent those days from being scheduled:
Using the calendar named us_hol_03, which you defined, follow these steps:
1. Open the Term Calendar Rule dialog by choosing Edit, Apply Rule.
2. In the Action area of the Term Calendar Rule dialog, select Block Dates.
3. In the Date Range area, do not change the default All Days in Range setting,
which indicates the calendar’s entire range.
6. In the Period sub area, select Calendar and, using the drop-down list, select
the us_hol_03 calendar. The calendar name should appear in the Calendar
field.
7. Click Apply to apply the rule to the current calendar (in the Calendar
Editor). In the current calendar, all the holidays that were selected in your
us_hol_03 calendar are set to Blocked. Use the open Term Calendar Rule
dialog in the next example.
Example Three Continuing with the above example, you want to change the state of every
Thursday to Selected. To do this, follow these steps, using the open Term
Calendar Rule dialog:
2. In the Date Range area, do not change the default All Day in Range setting.
4. In the Day sub area, select Thursday, which also selects the Specific Days
radio button.
When you apply this rule, the Conflicting state is assigned to the Thursdays that
were previously Blocked, because they were selected using the us_hol_03
calendar. As a result, you could reset these conflicting dates manually, by
clicking them until they are Unset, Selected, or Blocked, or you could specify a
rescheduling rule to accommodate this type of conflict (as described in
Rescheduling Rule Example in this chapter). Rescheduling Rules are described in
Using the Rescheduling Rule Area.
The Rescheduling Rule region allows you to specify how date conflicts should be
resolved when applying a rule.
1. Create the rule in the Date Selection Rule area by selecting the Action, Date
Range, Occurrences, Day, and Period.
2. Select the Apply Rescheduling Rule check box. This action enables the Move
Direction and To Day options.
3. Select the appropriate Move Direction and To Day options. These settings
indicate how the Conflicting dates should be rescheduled.
4. Click OK.
If you intend to apply a Rescheduling Rule, you should set it up at the same time
you set up the Date Selection Rule, rather than wait for conflicts to occur.
Note: Conflicts can also occur if a date is both Selected and Blocked. When a
conflict occurs, the selected state is moved when rescheduling, and the Blocked
date is maintained.
To Previous
Moves the Selected state backward in the calendar.
To Following
Moves the Selected state forward in the calendar.
To Day Area
In addition to specifying the Move Direction, you must specify one of the
following To Day options:
Any Day
Indicates the next available date.
Weekday
Indicates the next available weekday date.
In Calendar
Indicates the next available date in the specified calendar. Use the drop-
down list to select an existing calendar.
Not in Calendar
Indicates to use the next available date not Selected in the specified calendar.
Use the drop-down list to select an existing calendar.
This example describes how to remedy the conflict situation in the last example
(when you applied the rule, Conflicting states will be assigned to Thursdays that
were blocked because they were selected in the us_hol_98 calendar). In this
example, you apply a Rescheduling Rule that specifies “any day following the
date in conflict that is not also a holiday.” To do this, follow these steps (as
opposed to those given in “Example Three” previously discussed):
2. In the Date Range area, do not change the default All Days in Range setting.
4. In the Day sub area, select Thursday, which also selects the Specific Days
radio button.
6. Click the Apply Rescheduling Rule check box. This action enables the other
fields.
8. In the To Day area, select Weekday. This selection, along with the To
Following selection, will reschedule the Conflicting dates to the following
weekday.
9. Click OK to apply the rule to the current calendar and to close the dialog.
In the Calendar Editor, the Conflicting dates should be set to Blocked, and the
Selected dates should be rescheduled to the following weekday.
If you intend to apply a Rescheduling Rule, you should set it up at the same time
you set up the Date Selection Rule, rather than wait for conflicts to occur.
Note: Many conflict dates can be rescheduled to the same new date. For
example, if you block all weekend dates, then apply a rule to set every day, with
rescheduling to the previous weekday, both the Saturday and Sunday conflicts
will be resolved to the preceding Friday. If you want separate runs for Saturday
and Sunday, turn off the Rescheduling Rule and resolve the conflicts manually.
For example, you could combine your existing us_hol_03 calendar with your
company holiday calendar. To do this you must first create a calendar named
co_hol_03, select the holiday dates, and save the calendar. Then, you can
combine the two calendars following these steps by using the Calendar Editor:
1. From the File menu, choose the New option. This action opens the New
Calendar dialog.
3. From the Preferences menu, choose Years, then choose Two from the
submenu. If necessary, scroll down to the 2003 calendar.
5. In the Term Calendar Rule dialog, select Set Dates in the Action area, Every
in the Occurrences area, and Day in the Day area.
6. In the Period sub area, click the Calendar radio button, and select us_hol_03
from drop-down list.
8. Repeat steps 5 and 6, except select the co_hol_03 calendar from the drop-
down list. Then, click OK to dismiss the Term Calendar Rule dialog.
10. Enter the calendar name, holidays and click OK in the Save As dialog.
This new calendar will include and combine the dates that are the two
previously defined calendars. This process of combining calendars can be
repeated for any number of calendars.
Note: When combining calendars, any dates prior to the current date are
dropped from the new calendar.
When you open the Job Definition Reference List, it displays a list of jobs that
reference the current calendar either as a “run calendar” or an “exclude
calendar.” These are the jobs that will be affected by any changes that you make
to the current calendar. When you save the current calendar, the start dates for
the job will be recomputed.
You can import calendars contained in ASCII text files into the database. These
text files may contain multiple calendars, each of which must be delimited with
the calendar:calendar_name attribute.
calendar: Q1holidays
01/01/2003
You can include comments following a space after the calendar name or after
each date. This is the same format that is written by the Export function.
To import a file:
Choose File, Import. The standard Open dialog opens, which you use to
select the file to import.
Exporting Calendars
You can export all calendars defined in the database to an ASCII text file.
Select File, Export All. The standard Save As dialog opens, which you can
use to select a location and file name to which the calendar definition should
be saved.
When you use the Export All option, all the calendars in the database are
exported to a single ASCII text file.
Real Machines
In the environment, a real machine is any network host that has:
The above two conditions are required for a real machine to run jobs. However,
for Unicenter AutoSys JM to perform intelligent load balancing and queuing
while executing jobs, it needs to know the relative processing power of the
various real machines. Unicenter AutoSys JM provides both load balancing and
queuing by way of the logical construct called virtual machines.
Virtual Machines
A virtual machine is comprised of one or more real machines, in whole or in part
(or a combination of both). All real machines within a virtual machine must be of
the same type, either Windows or UNIX. Virtual machines cannot be a mix of
both UNIX and Windows machines. By defining virtual machines to Unicenter
AutoSys JM , and then submitting jobs to run on those machines, you can
specify:
Defining Machines
Define both real and virtual machines by using machine attribute statements
within a JIL script. The following JIL sub-command defines a real or virtual
machine:
insert_machine: machine_name
The following JIL machine attributes are used when defining machines:
max_load For real machines only, and used for load balancing.
factor For real machines only, and used for load balancing.
Real machines only need to be defined if they meet one of the following criteria:
Load balancing and queuing can be done only if real and virtual machines have
been defined to Unicenter AutoSys JM using these machine attribute statements.
The following two attributes, used when defining real machines, are key for load
balancing and queuing: max_load and factor.
Note: Real and virtual machines can be defined only using JIL. There is no GUI
interface for defining machines.
For more information about the JIL sub-commands and attributes pertaining to
machines, see the chapter “JIL Machine Definitions,” in the Unicenter AutoSys
Job Management for Windows and UNIX Reference Guide.
For load balancing to work, every defined job that will impact the load on a
machine must be assigned a job_load job attribute, which defines the relative
load the job will place on a machine. Thus, a machine’s current load can be
tracked, and overloading of a machine can be prevented. For example, if the
max_load on a machine is “100” and the job_load for one job is “10”, then that
job will use ten percent of the machine’s resources.
In addition, for job queueing to take place, the priority job attribute must also be
assigned in the job definition. The priority attribute specifies the relative priority
of all jobs queued for a given machine. Without this attribute set, a job will run
immediately on a machine, and it will not be placed in the queue.
The factor machine attribute can be defined only for real machines. It is another
arbitrary value that describes the relative processing power of a machine. This
attribute’s value is a real number that can contain a decimal. It is used to weigh
available cycles on one machine against that of another machine. When AutoSys
checks the available cycles on each machine, it multiplies the percent of free CPU
cycles by the factor in order to determine which machine has more relative
processing power available. Therefore, the factor value is typically a number
between 0.0 and 1.0.
Machine Definitions
Unicenter AutoSys JM can infer whether a machine being defined is a real or a
virtual machine based solely on the attributes in the definition. Any machine
definition containing a max_load or factor attribute must be a real machine
definition, because only real machines can have these attributes. Any machine
definition containing a list of machine attributes is a virtual machine definition.
Because of this, you can omit the type attribute when defining a UNIX machine.
For Windows, however, the type attribute is required. Compare the following
definitions.
factor: .8
machine: monkey
To help you understand virtual machines and their capabilities, the following
sections provide a series of examples that demonstrate the different
combinations of real machines that can constitute a virtual machine. These
examples include the JIL statements used to define these machines.
The following illustration defines a real UNIX machine named “jaguar” with a
max_load of 100 and a factor of 1.0.
insert_machine: jaguar
type: r 100 max_load
max_load: 100 1.0 factor
factor: 1.0
jaguar
To define a real Windows machine named “jaguar”, enter the following JIL
statements:
insert_machine: jaguar
type: r
max_load: 100
factor: 1.0
The following JIL statement deletes the real machine definition for the machine
named “jaguar”:
delete_machine: jaguar
3. Specify the real machines that will make up the virtual machine.
insert_machine: modena
type: v modena
machine: ferrari ferrari lambo
machine: lambo
The following JIL statements define two real UNIX machines named “fiat” and
“lotus”, and a virtual machine named “capri”, which is composed of the two real
machines. The virtual machine is a superset of the two previously defined real
machines. (Because the real machines are defined first, the virtual machine will
use the max_load and factor attributes specified for them.)
insert_machine: fiat
type: r
max_load: 100
factor: 1
insert_machine: lotus
type: r
max_load: 80
factor: .9
insert_machine: capri
type: v
machine: fiat
machine: lotus
The following JIL statements define a virtual machine named “mustang” which
is composed of slices, or subsets, of the real machines named “fiat” and “lotus.”
Even though the real machines have been previously defined, only the reduced
load portion (or slices) will be used in the virtual machine “mustang.”
insert_machine: mustang
type: v mustang
machine: fiat
max_load: 10 fiat lotus
machine: lotus 10 9
max_load: 9
To delete a real machine component of a virtual machine, you specify the virtual
machine and the desired component. The following JIL statements delete only
the real machine named “lambo” found within the virtual machine named
“modena”:
delete_machine: modena
machine: lambo
If the machine “lambo” had been individually defined outside of the virtual
machine, its individual definition still remains in effect.
To delete the entire virtual machine, you don’t have to specify any of the
component real machines. The real machines are still defined—only the virtual
machine they were in is deleted. The following JIL statement deletes the virtual
machine named “mustang”:
delete_machine: mustang
Because the real machines “fiat” and “lotus” had been individually defined
outside of the virtual machine, their individual definitions remain in effect.
Load Balancing
By specifying a virtual machine or a list of real machines in a job’s machine
attribute, rather than a single real machine, you can implement simple load
balancing. That is, you can cause the work load to be spread across multiple
machines, based on each machine’s capabilities. In addition to load balancing,
this feature is useful way to ensure reliable job processing. For example, if one of
the machines is down, load balancing will run the job on another machine.
When a job is ready to start, Unicenter AutoSys JM will determine which of the
specified machines is best suited to run the job. The following JIL example shows
the job definition statements for such a job:
insert_job: test_load
machine: modena
command: echo "Test Load Balancing"
job_load: 50
priority: 1
where:
If the max_load attribute was not defined for either real machine (as in our
example), or both machines had ample load units available, Unicenter AutoSys
JM would choose the machine to run on based solely on available processing
power. To accomplish this, Unicenter AutoSys JM does the following:
3. Chooses the machine with the largest result (for example, the machine with
the most relative processing cycles available).
In the example machine list previously shown, the factor attribute is not
specified for either machine, and thus the default factor value for each machine
is 1.0.
The advantages of building a virtual machine are that it can be changed, and the
new construct is immediately applied globally. Also, the values can vary
between machines. Even when a set of real machines that have not been
explicitly defined to Unicenter AutoSys JM are specified in a job’s machine
attribute, the available CPU cycles are used to determine which machine will run
the job.
italia
To start a job on this virtual machine, simply specify “italia” as the machine
attribute for the job. The Event Processor will perform the necessary calculations
to determine on which machine to run the job, and reflect these calculations in its
output log. The output is similar to:
EVENT: STARTJOB JOB: test_mach
Checking Machine usages using NT Performance Method
:<ferrari=78*[1.00]=78> <alfa_romeo=80*[.80]=64>
<lambo=2*[.30]=06>
[ferrari connected]
EVENT: CHANGE_STATUS STATUS: STARTING JOB: test_mach
Note that even though the “ferrari” usage was less than “alfa_romeo”, “ferrari”
was picked because of the factors (78 * 1.0 > 80 * 0.8). Thus, the factors weigh
each machine to account for variations in processing power.
For example: You scheduled Job-1 to run every Monday at 3:00 A.M, however,
on Sunday you placed this job ON_HOLD. If you FORCE_START Job-1 on
Wednesday at 2:00 P.M., Job-1 will run to completion (either success or failure),
and then run again as scheduled on Monday at 3:00 A.M.
Queuing Jobs
Queuing jobs in Unicenter AutoSys JM is a mechanism for ordering jobs that are
unable to be run immediately. You can also issue a “change priority” event to
change the priority of a job in the queue. There is no actual “queue” entity.
Instead, jobs are chosen based on queuing policies. Queuing policies are
established through the use, and subsequent interaction, of the two job attributes
job_load and priority, and the two machine attributes max_load and factor.
The following sections discuss queuing jobs and give examples of how load
balancing and queuing are used to optimize job processing in your environment.
If a job has been assigned a job_load value (the load limiting feature), and a
max_load attribute is assigned to every real machine comprising a virtual
machine, Unicenter AutoSys JM will first determine whether each machine has
sufficient available load units before running the job. If each real machine has
sufficient load units, Unicenter AutoSys JM employs the load balancing and
“factor” algorithms to determine on which machine it should start. However, if
only one of the machines has sufficient load units, the job will be run on that
machine. If no machines have sufficient load units, the job will be placed “on
queue” for both (or all) machines. When one machine becomes available, the job
is run on that machine, and removed from all other queues.
The words “in the queue” refer to an actual QUE_WAIT job status, and the job
will stay in this state until the necessary load units become available.
When the necessary load units become available, again checks all the job’s
starting conditions to ensure it is still okay to run the job. If any of the starting
conditions are no longer true, the following message is generated:
Job: job_name Starting Conditions are no longer TRUE.
De-Queuing this Job and setting to ACTIVATED.
Note: In order for any queuing to take place, all jobs must have their priority
attribute set. By default, the priority attribute is set to 0 indicating that the job
should not be queued, but be run immediately. When this is the case, even jobs
whose job load would push the machine over its load limit will be run. However,
it is important to note that even when jobs have a priority of 0, job loads will still
be tracked on each machine. This is done so that jobs that do have non-zero
priorities will still be queued.
Note: If a job is in the QUE_WAIT state and you want to run it immediately, do
not force start the job. To change the job queue priority, use the sendevent
command with the -E CHANGE_PRIORITY option.
When more than one job is queued, the priority value is considered first when
deciding which job to run next. If there are insufficient load units (job_load
value) available to run the highest priority job, it will remain in the queue, and
lower priority jobs will be considered subsequently.
In the case where a job has its job_load attribute set, the load value will be
reflected in the total load running on a machine. It is important to note that if
there is no job_load value set for a job, it will not be figured into the total load
units running on a machine.
Note: The constructs of job loads and machine loads are merely conventions that
you set up, and that are enforced. If you do not indicate what the load of a job is,
it will not figure it into its queuing calculations. This is different from the load
balancing feature, which does inspect the CPU to determine its usage.
The following illustration shows a situation where a machine has 80 load units,
and multiple jobs are waiting to start. In this example, “JobB” and “JobC” are
executing while “JobA” and “JobD” are “queued” (in the QUE_WAIT state),
waiting for available load units. The numbers in the figure indicate the job_load
assigned to each job, and the max_load of the machine. The JIL statements
provided below define the machine and the jobs.
QUE_WAIT EXECUTE
JobA JobB
50 50 80 max_load
JobD JobC
30 30
insert_machine: ferrari
max_load: 80
insert_job: JobA
machine: ferrari
job_load: 50
priority: 60
insert_job: JobB
machine: ferrari
job_load: 50
priority: 50
insert_job: JobC
machine: ferrari
job_load: 30
priority: 80
insert_job: JobD
machine: ferrari
job_load: 30
priority: 70
In the previously shown illustration, “JobB” and “JobC” are already running
because their starting conditions were satisfied first. After “JobB” or “JobC” are
completed, “JobA” or “JobD” will start. Which job will start, “JobA” or “JobD”,
is determined by a combination of the priority and job_load attributes of each
job, and the max_load machine attribute. The resulting scenario will differ, based
on which job finishes first. If “JobB” finishes first, 50 load units become available,
so either “JobA” or “JobD” could be run. Since “JobA” has a higher priority
(lower value = higher priority), it will run first. However, if “JobC” finishes first,
only 30 load units become available, so only “JobD” could be run.
Subsets—Individual Queues
ferrari_printQ
ferrari
80 15
To implement the schema, you would first create the virtual machine named
“ferrari_printQ”, like:
insert_machine: ferrari_printQ
machine: ferrari max_load: 15
Using this definition, only one of the jobs would run on “ferrari” at one time,
since each job requires all of the load units available on the specified machine.
It is important to note that the load units associated with a virtual machine have
no interaction with the load units for the real machine. In the above example, this
means that the virtual load of 15 does not subtract from the load units of 80 for
the real machine. Load units are simply a convention which allows the user to
constrict concurrent jobs running on any one machine.
Virtual machines can also be constructed to allow subsets (or slices) of real
machines to be combined into one virtual machine. A possible need for this
would be if there were two machines that were print servers, on each of which
only one print job was to run at a time. The following illustration shows this
situation.
printQ
ferrari lambo
80 15 120 15
To implement the above illustration, you would first create the virtual machine
named “printQ”, then you would specify two real machines, “ferrari” and
“lambo” as shown in the following example:
insert_machine: printQ
type: v
machine: ferrari
max_load: 15
machine: lambo
max_load: 15
Scheduler Console
11
This chapter describes how to use the Scheduler Console to monitor and control
job runs in real-time. The Scheduler Console allows you to access job information
from multiple instances.
You can create filters that allow you to control the jobs displayed in the
Scheduler Console. These filters are based on various parameters, such as the
current job state, the job name, and the machine on which the job runs. You can
change the current filter to change the jobs displayed in the console.
In addition, from the Scheduler Console you can select any job and view more
detailed information about it, including its starting conditions, dependent jobs,
and autorep reports.
You can also open several utilities and tools from the Scheduler Console.
Click Scheduler Console on the GUI Control Panel. This action opens a
window similar to the illistration following.
If you are opening the Scheduler Console for the first time, you will be prompted
to choose whether you want to open the Scheduler Console using the Default
Filter. If you choose No, the Filter Editor is opened, and you can define a filter to
use in the Scheduler Console. For information on using the Filter Editor, see
Defining Scheduler Console Filters in this chapter.
Menu bar
The area that is at the top of the window.
Control area
The area below the menu bar that contains the drop-down list of defined
filters and the action buttons you have selected to display. You can populate
this “action area” with action buttons and user-defined action buttons.
Note: By default, the Scheduler Console starts up with Auto Refresh on, and the
job list is updated every 60 seconds. For information on setting the interval for
Auto Refresh, see Using the General Dialog.
At the top of the Scheduler Console is the menu bar, which contains the
following menus: File, Filters, Actions, Tools, Applications, Reports, Preferences,
and Help.
File Menu
Exit
Exits the Scheduler Console and closes all database connections that it has
established.
Filters Menu
Filter Editor
Opens the Filter Editor dialog. Use this dialog to define, modify, and delete
filters. Filters define the jobs you want to appear in the job list area. For
information on defining filters, see Filters Editor Dialog in this chapter.
Actions Menu
The Actions menu contains a list of actions that you can perform on the selected
jobs in the job list area. These are the Actions menu options:
Start Job
Starts the selected jobs if the Dependencies starting conditions are met. This
action ignores Date/Time starting conditions, but it does not ignore job
dependency starting conditions. You can only use this option to start top-
level jobs; do not use it on jobs in boxes. Choosing this option is equal to
sending a STARTJOB event.
Kill Job
Kills the selected jobs. Choosing this option is equal to sending a KILLJOB
event, and its action depends on the job type and the type of machine (UNIX
or Windows) on which the job is running.
On Hold
Places the selected jobs on hold, which means they cannot be started. You
cannot place a job on hold if it is in STARTING or RUNNING state.
Choosing this option is equal to sending a JOB_ON_HOLD event.
Off Hold
Takes the selected jobs off hold. If you choose this option and the selected
jobs’ starting conditions have been met, the jobs will be started. Choosing
this option is equal to sending a JOB_OFF_HOLD event.
On Ice
Places the selected jobs on ice, which is the functional equivalent of
deactivating the job definition. You cannot place a job on ice if it has a
STARTING or RUNNING status. Choosing this option is equal to sending a
JOB_ON_ICE event.
Off Ice
Takes the selected jobs off ice, which is the functional equivalent of
reactivating the job definition. When you take a job off ice, it will start the
next time the starting conditions are met. Choosing this option is equal to
sending a JOB_OFF_ICE event.
For more information about any of these events, see sendevent in the chapter
“Commands” in the Unicenter AutoSys Job Management for Windows and
UNIX Reference Guide.
Tools Menu
The Tools menu allows you to open windows and dialogs that give you more
information on a job, or allow you to modify a job. The menu has the following
options:
Dependent Jobs
Opens the Job Dependencies dialog for the selected job. This dialog shows
the Current Job Name and the Predecessor Jobs and Successor Jobs. When
you select a job in this dialog, the starting Condition also displays. For
information, see Using the Job Dependencies Dialog in this chapter.
Job Editor
Opens a Job Editor for the selected job. For information on the Job Editor, see
the chapter “Defining Jobs Using the Job Editor,” in this guide.
Send Event
Opens the Send Event Tool for the selected job. Using this dialog, you can
send events, and you can cancel events that have been scheduled for a later
time. For information, see Using the Send Event Tool in this chapter.
Applications Menu
Alarm Manager
Opens the Alarm Manager, which you can use to view alarms and change
their status from Open to Acknowledged or Closed. When you open the
Alarm Manager from the Scheduler Console, it contains the alarms for all
instances it can access. For information on the Alarm Manager, see the
chapter “Managing Alarms,” in this guide.
Reports Menu
The Reports menu allows you to run and view various job reports. The menu has
the following options:
Preferences Menu
The Preferences menu allows you to set user preferences and customize the
Scheduler Console display. The menu has the following options:
General
Opens the General dialog in which you can set the refresh interval (the
default setting is 60 seconds), the confirm action behavior, and the button
display. For information, see Using the General Dialog in this chapter.
Time Perspective
Allows you to select one of the following time perspectives, which controls
the time zone used in the display: Local Time, Currently Selected Job, or
Currently Selected Instance. For more information, see Setting the Time
Perspective in this chapter.
Note: The Time Perspective affects the Start Time and Last Change display in
the summary area.
AutoRefresh
Indicates whether or not the Scheduler Console summary area should be
updated automatically. By default, AutoRefresh is selected (set to on). This
setting indicates that the Scheduler Console should be updated based on the
Refresh Interval setting in the General dialog. If you uncheck the
AutoRefresh option, setting it to off, the Console display is not updated
automatically. To update the display, you can check the AutoRefresh option,
or you can click the Refresh button (if you indicated to have the button in the
action area).
Help Menu
Contents
Displays the table of contents for the Unicenter AutoSys JM Help.
About
Displays the Scheduler Console version number.
The control area is located below the Scheduler Console menu bar. The control
area contains the following items:
■ The Refresh button, which you can click to update the display with the most
current database information.
■ The action area, which you can populate with the following:
– Buttons that open tools or send events on the selected jobs. You define
the set of buttons that appear in the area using the Action Area Layout
dialog. By default, all buttons are displayed the first time you open the
Scheduler Console. For information, see Using the Action Area Layout
Dialog in this chapter.
The summary area displays a list of all the jobs that are defined, subject to the
currently selected filter. The list of jobs in the summary area provides a snapshot
of the system, across multiple machines and multiple instances.
When a job generates an alarm, its line turns the color specified in the Control
Panel Colors dialog, which you can open from the Control Panel Preferences,
Colors menu item. The default color for alarms is red. An alarm is generated
when a job completes with FAILURE or TERMINATED status.
Each entry in the summary area contains the following job-specific information:
■ Job Name
■ Status (Current)
■ Job ID
Selecting Jobs
When you select a job from the list, the highlighted job becomes the currently
selected job, and you can open the dialogs and applications located on the Tools
and Applications menus to get more information on the selected job.
In addition, you can select multiple jobs from the list and perform actions on
them, by using the Actions menu options, the Send Event Tool, or any buttons
you have added to the action area at the top of the Scheduler Console.
You can right-click on any job to get a menu of actions you can perform on that
job and tools you can open. This menu will also contain a list of your user-
defined buttons that allow you to execute the command from this menu. For
information on user-defined buttons, see Using the User-Defined Buttons Dialog
in this chapter.
You can double-click on a job to open the Run Status Tool to view the job
information (see Using the Run Status Tool in this chapter).
Note: When you select a job from the list, the status bar of the Scheduler Console
shows the appropriate time, based on the Time Perspective. For more
information, see Setting the Time Perspective in this chapter. When the
Scheduler Console is reading the database (refreshing or changing filters) an
asterisk appears at the end of the date time statement.
■ To select a job:
Press and hold the shift key, click on the jobs at the end of a desired range to
select a group of jobs.
Press the Control key and click each job you want to select. Pressing the
Control key and clicking a selected job deselects that job.
Note: The summary area has a scroll bar along the right side for scrolling
through the job list. Using the Summary Area Layout dialog, on the Preferences
menu, you can resize the columns and change the sort order. For more
information, see Using the Summary Area Layout Dialog in this chapter. In
addition, you can resize the titles by dragging the edges.
You can define any number of filters to control the jobs that are displayed in the
Scheduler Console summary area. To do this, you use the Filter Editor, which
allows you to filter by the following criteria:
■ Names of jobs
■ Status of jobs
You can use the Filter Editor to create, delete, and modify filter definitions.
Choose Filters, Filter Editor. This action opens a dialog similar to the following:
The Filter Editor has a File menu and the following tabs:
■ Names
■ Status
■ Machine/Instance
File Menu
New
Opens a new Filter Editor.
Open
Opens the Open Filter Criteria dialog, which lists the defined filters. You can
select a filter to open, and click OK.
Save
Saves the filter definition. These filters apply to all installed instances, but
they are user-specific, so they are saved. When you save for the first time,
this option opens the Save As dialog.
Save As
Opens the Save As dialog, in which you can enter a new filter name and save
it.
Delete
Opens the Deleting Filters dialog, which displays a list of defined filters. To
delete a filter, select it from the list, and click OK. This deletes the Filter
definition.
Exit
Closes the Filter Editor, displaying a dialog asking you if you want to save
your last modifications when necessary.
Names Tab
Using the Filter Editor Names tab, you can select the jobs you want to view by
name. You can click one of the following radio buttons:
All Jobs
Selects all jobs that meet the other filtering criteria.
Jobs named
Selects the jobs with the name or names you enter in the scrollable text box to
the right of the button. After entering each name, press Enter.
■ All—Indicates that the box specified in the scrollable text box and all of its
direct descendents (including nested boxes and the jobs in those boxes) are
to be displayed. This is the default.
■ 0—Indicates that only the top-level box specified in the scrollable text box is
to be displayed.
■ 1 through 20—Indicates that the box specified in the scrollable text box and
the selected number of levels of nesting are to be displayed.
When specifying a job name in the scrollable text box, you can enter the asterisk
( * ) wildcard character, the entire job name, or a partial name with the asterisk
( * ) wildcard character representing one or more characters. You can use this
wildcard in more than one character position. For example, specifying the job
name “*a*” would match the jobs “Dad,” “Bad,” “Bat,” and so forth. At the end
of each entry, press Enter.
If you use the wildcard character to specify all box names, and a box has other
boxes inside of it, the name of the nested box job will be listed multiple times in
the summary area.
Note: If you have selected a Sort Key for the Summary Area Layout that is
different from the default order (which is no sort order), the levels of box jobs
will not display indentation correctly; the indentation will display, but the order
will not be based on the jobs relationship to the containing box job.
Status Tab
From the Filter Editor Status Tab (shown in the following illistration), you can
select the jobs that you want displayed based on their current status. You can
select All Statuses, or you can select individual statuses, such as STARTING,
RUNNING, or INACTIVE. The All Statuses selection is the default setting, and it
is automatically deselected when you deselect any of the statuses listed below it
(when all statuses are no longer selected). You can select any combination of the
statuses.
Machines/Instances Tab
From the Filter Editor Machine/Instance tab (shown in the following illistration),
you can select jobs based on the name of the machine on which they ran (or they
are currently running). On the left side of this tab is a list of all the machines that
are referenced in any job or machine definition for the instance, or which have
run an AutoSys job.
In addition, you can select the instance or instances you want included in this
filter. On the right side of this tab, is a list of instances to which this Scheduler
Console can connect. By default, All Instances is selected, but you can uncheck
the check box and select specific instances from the list of instances.
Note: Virtual machines appear on the Machine list, but you cannot use them to
select jobs, because jobs can run only on real machines.
Selecting Machines From the Machine or Instance list, you can choose one or several names to
or Instances include in the filter.
Click the All Machines check box to uncheck it, and then select the machines
you want to include in the filter.
Click the All Instances check box to uncheck it, and then select the instances
you want to include in the filter.
When you are selecting machines or instances, the behavior is the same. You
can select a single name, a range of names, or multiple names.
Press the mouse button and hold on the first name, and then drag the cursor
to the last name and release the mouse button.
1. Choose Filters, Filter Editor. This action opens a dialog similar to the one
shown in Defining Scheduler Console Filters in this chapter.
2. In the Filter Editor, use the Names, Status, and Machine/Instance tabs to
specify the filter definition.
3. Choose File, Save. This opens a Save As dialog in which you can enter
the name of the filter, then click OK. This action saves the filter
definition.
Select the name from the filter drop-down list at the top left of the Scheduler
Console.
Note: Sorting order of the jobs listed in the summary area is controlled by the
settings in the Summary Area Layout dialog. For information about changing the
settings, see Using the Summary Area Layout Dialog in this chapter.
■ Job Editor
■ Send Event
The following sections describe these tools, with the exception of the Job Editor,
which is described in the chapter “Defining Jobs Using the Job Editor,” in this
guide.
The Job Dependencies dialog allows you to view the defined Dependencies of
the selected job, and to move between the displayed dependent jobs to see their
defined Dependencies.
Select a job, and choose Tools, Dependent Jobs. This action opens a dialog
like the one shown in the following illistration.
When you open this dialog, it stays on top, but you can select other jobs from
the summary area, and that newly selected job and its dependencies will be
displayed in the dialog.
Click OK.
In the Job Dependencies dialog, the defined Dependencies for the selected job are
listed in the Condition area. In the area below that, you can view lists of the
Predecessor Jobs and the Successor Jobs, which include their status. To move to
one of these jobs and see its Conditions and dependent jobs, double-click on the
job name in the list.
This dialog allows you to move quickly up and down the flow of dependent jobs
in order to locate the problem in a job run, or to see what effect a problem might
have.
For example, if a job has not run within the time frame it was expected to, you
could select the job from the job list and check its starting conditions to quickly
determine what predecessor jobs might be preventing it from running.
You can use the Run Status Tool to view comprehensive information about the
most recent run (or the current run) of the selected job.
■ Double-click a job.
These actions open a dialog similar to the one shown in the Run Status Tool.
Note: If you selected multiple jobs, the first job you selected will be the currently
selected job. In addition, Auto Refresh must be on in order for the information in
the Run Status Tool to update in real time.
The Run Status Tool has the following menus: File, Tools, Applications, Options,
and Help.
Exit
Closes the Run Status Tool.
Job Editor
Opens a Job Editor for the current job. For more information, see the chapter
“Defining Jobs Using the Job Editor,” in this guide.
Contents
Displays the table of contents for the Help.
About
Displays the Run Status Tool version number.
Job Name
The name of the selected job.
Instance
The name of the instance for which this job is defined.
Description
The description text entered in the Job Editor Description field or with the
description job attribute with JIL.
Command
The command to be executed for command jobs. If the job is a file watcher
job, the file it is watching for appears here. If the job is a box job, this field is
blank.
Starting Conditions
The job’s entire starting condition, as specified in its job definition as well as
the “atomic” conditions, which are the most basic components of an overall
condition. This information is very useful when troubleshooting a job.
Start Time
The start time of the current, or the most recent run of the job.
Run Time
How much time elapsed between the start and end of the most recent run of
the job. If the job is currently running, this field is blank.
Run Machine
The name of the machine on which the job ran or is currently running. If a
job is defined to run on a virtual machine, the name of the real machine
component on which it actually ran will appear here.
Exit Code
The exit code from the most recent run of the job.
Try Count
If the job had to be restarted, the number of times it was started appears
here.
End Time
The end time of the most recent run of the job. If the job is currently running,
this field will be blank.
Status
The current status of the job.
Priority
If the job is queued to start on a machine, its priority in the queue appears
here.
Queue Name
If the job is queued to start on a machine, the name of that machine appears
here.
Next Start
If the job has date and time starting conditions, this field shows when the
next run of the job is scheduled to start.
■ Select the various event parameters you want to specify when sending the
event.
Note: To send an event on a job, you must have execute permission on the
selected job.
Select a job and choose Tools, Send Event. This action opens a dialog like the
one shown in this chapter. The Send Event Tool has a menu bar and several
fields.
Note: If you do not select a job before you open choose Send Event, a Send Event
Tool opens that does not have an associated job. You can enter a Job Name in the
Send Event Tool, or, if the Send Event Tool is set to Adopt Session Context (on its
Options menu), you can click on a job in the Scheduler Console to associate a job
with the tool.
For basic Send Event Tool usage information, see Sending an Event and
Canceling a Send Event.
The menu bar contains the following menus: File, Options, and Help.
Exit
Closes the tool.
Contents
Displays the table of contents for the Unicenter AutoSys JM Help.
About
Displays the Send Event Tool version number.
Using the Send Event Tool, you can send one event at a time, selecting the event
from the list in the Event Type area. You can send the event now, or you can
determine a future date to send it.
By default, the Job Name field at the top of the tool contains the name of the
currently selected job, which is the job on which you will send the event. If you
have selected multiple jobs, the name of the first one you selected appears in the
Job Name field, but all selected jobs will be affected by the event sent. If desired,
you can enter the name of a different job in this field, or you can select another
job from the Scheduler Console summary area.
Start Job
Starts the selected jobs if their Dependencies are satisfied. That is, this event
ignores time and date conditions, but it does not ignore dependencies on
other jobs (set in the Job Editor Dependencies field, or with the condition JIL
attribute). Choosing this option is equal to sending a STARTJOB event. If
you want to start a job immediately, regardless of its starting conditions, use
the Force Start Job option.
Job On Hold
Places the selected jobs on hold, which means they cannot be started. You
cannot place a job on hold if it has a STARTED or RUNNING status.
Choosing this option is equal to sending a JOB_ON_HOLD event.
Comment
Attaches the message in the Comment field of the Send Event Tool to the
specified job for its next run. Choosing this option is equal to sending a
COMMENT event.
Stop Demon
Stops the event processor for the selected instance. This does not stop the
database service. Choosing this option is equal to sending a STOP_DEMON
event.
Job On Ice
Places the selected jobs on ice, which is the functional equivalent of
deactivating the job definitions. You cannot place a job on ice if it has a
STARTED or RUNNING status. Choosing this option is equal to sending a
JOB_ON_ICE event.
Kill Job
Kills the selected jobs. Choosing this option is equal to sending a KILLJOB
event, and its action depends on the type of the job on which you are
sending the event.
Change Status
Forces a change in the status of the selected jobs. Ordinarily this option
should not be used because Unicenter AutoSys JM manages job state
changes internally. In addition, if you use this option, you will need to send
another Change Status event to change the status back to what it was. If you
do select this option, you must also select the status to change to from the
Send Event Tool Status drop-down list. Choosing this option is equal to
sending a CHANGE_STATUS event.
Change Priority
Changes the priority of the selected jobs to the one specified in the Send
Event Tool Queue Priority field. Queue priority is the relative priority of all
jobs in the queue. The lower the number, the higher the priority; zero means
to run the job right away. If a job has not been started, the priority is changed
for the next run only. If a job has been started, and is in a queue, the priority
is changed immediately. Choosing this option is equal to sending a
CHANGE_PRIORITY event.
Set Global
Sets an global variable to the variable indicated in the Send Event Tool
Global Name and Global Value fields. The Global Name and Global Value
can each be a maximum of 30 characters. This event is sent with a high
priority so that the event processor will process the variable before it is
referenced by any jobs at runtime. Choosing this options is equal to sending
a SET_GLOBAL event.
Send Signal
Sends the UNIX signal specified in the Send Event Tool Signal field to the
selected jobs that are running on UNIX machines. This event is ignored if the
job is running on a Windows machine. Choosing this option is equal to
sending a SEND_SIGNAL event.
For more information about any of these events, see the section sendevent in the
chapter “Commands” in the Unicenter AutoSys Job Management Reference
Guide.
Match On Time
Indicates that the event or events you are canceling are based on the Time
you indicate in the Future field area. For information, see Canceling a Sent
Event in this chapter.
Now or Future
You can specify when the event is to take effect, either Now (the default), or
at some Future time and date. The current time and date are provided as
examples of the required format. The Time entry must be in 24-hour format.
Comment
A free-form field in which you can enter any text you want to associate with
this event in the database. This field is for documentation purposes only. For
example, if you force a job to start, you might provide an explanation about
why this was necessary.
Instance
The AUTOSERV instance name for the currently selected job. When events
need to be sent to a different instance, choose another instance from the
drop-down list.
Send Priority
Indicates whether the selected event should be sent with a Normal or High
priority.
At the bottom of the Send Event Tool, there are two buttons: Send and Close. The
Send button of the dialog executes, or sends, the event. The Close button closes
the dialog without sending the event. If you click on either button, the Send
Event Tool is closed.
Sending an Event
1. Make sure you have the appropriate job in the Job Name field.
Note: You can select multiple jobs in the Scheduler Console before you open
the Send Event Tool. If you do so, the Send Event Tool will send the chosen
event on all of the selected jobs.
3. Choose Now or Future. If you choose Future, enter a Date and Time. The
Time entry should be in a 24-hour format.
6. Choose Send Priority from the drop-down list, either the Normal or High.
7. Click Send.
This action sends the event type you selected at the date and time you indicated.
This event is sent to the database for the selected job.
From the Send Event Tool, you can cancel one or more events scheduled to occur
sometime in the future. You can do this in one of two ways: by canceling a
specific event or by canceling a specific event by its scheduled time.
Note: You should use this feature to cancel events that you have sent from the
Send Event Tool. If you want to override a scheduled starting condition for a job,
you should use the one time override job attribute, either from the Job Editor or
from JIL.
1. Make sure you have the appropriate job in the Job Name field.
Note: You can select multiple jobs in the Scheduler Console before you
open the Send Event Tool. If you do so, the Send Event Tool will send
this cancel event on all of the selected jobs that meet the Event Type
criteria.
2. In the Event Type region, specify an event type by selecting one of the
radio buttons.
4. Click Send. This process cancels all pending events of the specified Event
Type for the selected jobs.
1. Make sure you have the appropriate job in the Job Name field.
Note: You can select multiple jobs in the Scheduler Console before you
open the Send Event Tool. If you do so, the Send Event Tool will send
this cancel event on all of the selected jobs that meet the Event Type and
Time criteria.
5. In the Time field, indicate the scheduled event time you want to match.
The Time entry must be in 24-hour format.
6. Click Send. This process cancels all pending events of the specified Event
Type at the specified Time for the selected jobs.
Notes on Canceling a The Cancel Previously Sent Event feature is designed to be used primarily on
Send Event events that you have sent from the Send Event Tool. If you want to override a
scheduled starting condition for a job, you should use the one time override job
attribute, either from the Job Editor or from JIL.
If you cancel a future Start Job event for a time-dependent job with no other
starting conditions, the job may never run again without manually starting it
with a Send Event command. For example, jobA is scheduled to run daily at
11:00. jobA starts at 11:00 on Monday and completes at 11:30, at which time the
next future Start Job event is set for 11:00 Tuesday. At 9:00 on Tuesday, you
cancel the 11:00 Start Job event. The job not only does not run at 11:00 on
Tuesday, but it will not be scheduled to run again. To restart the job, you can
either update its job definition or manually issue a Start Job Send Event.
The Job Detail Report tool displays a realtime report for one currently selected
job. This report presents job run information in the same format produced by the
autorep command. It presents the following two types of reports, which you can
select from the drop-down list on the bottom right of the tool:
Summary
Displays a one-line synopsis of the last or current execution of the job.
Event
Displays a detailed report listing all the events and statuses from the last or
current execution of the selected job.
Choose Reports, Job Detail Report. This action opens a dialog similar to the
one shown in the following figure.
The Job Detail Report tool has a menu bar and a display area.
Click OK.
The Job Detail Report tool has the following menus: File, Tools, Applications,
Options, and Help.
Exit
Closes the Job Detail Report tool.
Send Event
Opens a Send Event Tool for the selected job. For information, see Using the
Send Event Tool in this chapter.
Job Editor
Opens a Job Editor for the selected job. For information, see the chapter
“Defining AutoSys Jobs Using the Job Editor,” in this guide.
Contents
Displays the table of contents for the Unicenter AutoSys JM Help.
About
Displays the version for the Job Detail Report.
General
Opens the General dialog (see Using the General Dialog in this chapter).
User-Defined Commands
Opens the User-Defined Buttons dialog (see Using the User-Defined Buttons
Dialog in this chapter).
User-Defined Reports
Opens the User-Defined Reports dialog (see Using the User-Defined Reports
Dialog in this chapter).
Time Perspective
Presents three submenu options (see Setting the Time Perspective in this
chapter).
AutoRefresh
You can toggle the AutoRefresh setting to determine if the Scheduler
Console updates automatically. By default, AutoRefresh is selected (set to
on). This setting indicates that the Scheduler Console should be updated
based on the Refresh Interval setting in the General dialog. If you uncheck
the AutoRefresh option, setting it to off, the Console display is not updated
automatically. To update the display, you can check the AutoRefresh option,
or you can click the Refresh button.
Using the General dialog, you can set the following for the Scheduler Console:
■ The Refresh interval, in seconds. This setting indicates how often the
Scheduler Console should refresh. To refresh, it reads the databases and
updates the summary area job list. The default setting is every 60 seconds.
■ The Confirm action function. This setting indicates whether or not you want
confirmation dialogs displayed when you click on any Action Area Layout
buttons, or choose any Action menu options. The default setting is “on,”
which indicates that a confirmation dialog should be displayed before the
execution of the actions.
■ The Button Appearance. You can set the action area and user-defined
buttons to display Text Only, Icon Only, or Both. If you choose Icon Only,
the user-defined buttons will all have the same icon, and the tool tip will
contain the name of the button.
Choose Preferences, General. This action opens a dialog like the one shown
in the following illistration.
or:
To create buttons:
2. In the dialog, click in the Name field, and enter the name you want to appear
on the button.
Note: The command line can contain environment variables, and it can
contain $JOB and $INST. Use the $JOB variable for arguments that take a job
name, and the selected job will be used when you click the button. Use the
$INST variable for arguments that take the instance name, and the selected
instance will be used when you click the button.
4. Click OK. This action puts a button with the specified name in the action
area.
When you click the new button in the action area, it executes the specified
command.
If you want to use an command in the Command field of this dialog, you must
use the following syntax:
initautosys -i $INST -r "command_line"
where :
“command_line” Specifies the full command line. This command line must be in quotes.
The command line can contain environment variables, and it can contain $JOB
and $INST. Use the $JOB variable for arguments that take a job name, and the
selected job will be used when you click the button. Use the $INST variable for
arguments that take the instance name, and the selected instance will be used
when you click the button.
Note: When you choose commands to execute from a user-defined button, you
should use only persistent commands.
You can use the User-Defined Reports dialog to implement a menu item on the
Reports menu.
2. In the dialog, click in the Name field, and enter the name you want to appear
on the Reports menu.
Note: The command line can contain environment variables, and it can
contain $JOB and $INST. Use the $JOB variable for arguments that take a job
name, and the selected job will be used when you click the button. Use the
$INST variable for arguments that take the instance name, and the selected
instance will be used when you click the button.
4. Click OK. This action puts the option with the specified name on the Reports
menu.
When you choose the new Reports menu item, it executes the specified
command.
Using the Summary Area Layout dialog, you can customize the summary area
display. You can set the Column Size, Column Order, and Sort Order. By default,
jobs appear in the summary area in the order they are pulled from the database.
In addition to using the Summary Area Layout dialog to customize the display
of the Scheduler Console, you can modify the layout area in the window.
Click the title name by which you want the job list sorted. (You can choose
only the first, or primary, category by which the list is sorted.)
You can, customize the summary area further by using the Summary Area
Layout dialog.
Choose Preferences, Summary Area Layout. This action opens a dialog like
the following illistration:
Using this dialog, you can set the Column Length, Column Order, and Sort
Key. Each setting is based on the Column Name, indicated on the left side of
the dialog. The Column Length setting corresponds to the size of the column,
and the Column Order and Sort Key settings are relative to the other
settings.
■ To save the settings you make in the Summary Area Layout dialog:
Click OK.
Click Default.
Click Cancel.
Note: If you select a Sort Key for the Summary Area Layout that is different
from the default order (which is no sort order), the levels of box jobs will not
display indentation correctly; the indentation will display, but the order will
not be based on the jobs relationship to the containing box job.
The Summary Area Layout dialog allows you to specify the sort order in which
the jobs should be listed. By default, there is no sort order; the jobs are displayed
in the order they are returned from the database. However, you can modify this
order.
To modify the sort order, you can choose one of the following as primary sort
criteria, and you can choose other levels of priority that will be used when
appropriate:
Job Name
Jobs will be sorted by name in ascending alphanumeric order.
Instance
Jobs will be sorted by their instance name, in ascending alphabetical order.
Status
Jobs will be sorted by their current status, in ascending alphabetical order.
Last Change
Jobs will be sorted by the date of their last change.
Machine
Jobs will be sorted by the machine on which they run or have run, in
ascending alphabetical order.
Type
Jobs will be sorted by the type of job, in ascending alphabetical order.
Start Time
Jobs will be sorted by the starting time for the most recent execution of the
job, or if there is no recent run data, the time that it is scheduled to run.
Job ID
Jobs will be sorted in the order in which they were created.
Note: If you want to view levels of box jobs, you should use the default sort
order, which is no sort order. If you choose a sort order, the indenting of the
various nesting levels for box jobs has no meaning, and there is no indication of
which jobs are in which box job.
The Action Area Layout dialog allows you to select the specific buttons you want
to appear in the control area at the top of the Scheduler Console. By default, all
of the buttons are selected to be displayed.
Choose Preferences, Action Area Layout. This opens a dialog like the
following illistration:
Select the tools or actions, and click OK. This puts the appropriate buttons in the
action area.
When you click a tool button in the action area, the related dialog opens. When
you click an action button, a confirmation dialog displays, and after you click
OK, the associated event is sent. If you have initiated an action on multiple jobs,
the confirmation dialog will display the list of jobs you have selected.
From the Action Area Layout dialog, you can select from the following tool and
action buttons:
Send Event...
Opens the Send Event Tool, which allows you to send any type of event. For
information, see Using the Send Event Tool in this chapter.
Dependent Jobs...
Opens the Job Dependencies dialog for the selected jobs. This dialog shows
the Current Job Name and the Predecessor Jobs and Successor Jobs. When
you select a job in this dialog, the starting Condition also displays. You can
also double-click on the displayed jobs, to see their dependencies. For
information, see Using the Job Dependencies Dialog in this chapter.
Job Editor...
Opens a Job Editor with the selected jobs. For information on the Job Editor,
see the chapter “Defining Jobs Using the Job Editor,” in this guide.
Start Job
Starts the selected jobs if the defined Dependencies are met. This action
ignores Date/Time starting conditions, but it does not ignore defined
Dependencies. You can only use this option to start top-level jobs; do not use
it on jobs in boxes. Choosing this option is equal to sending a STARTJOB
event.
Kill Job
Kills the selected jobs. Choosing this option is equal to sending a KILLJOB
event.
On Hold
Places the selected jobs on hold, which means they cannot be started. You
cannot place a job on hold if it has a STARTED or RUNNING status.
Choosing this option is equal to sending a JOB_ON_HOLD event.
Off Hold
Takes the selected jobs off hold. If you choose this option and the selected
jobs have starting conditions that have been met, the jobs will be started.
Choosing this option is equal to sending a JOB_OFF_HOLD event.
On Ice
Places the selected jobs on ice, which is the functional equivalent of
deactivating the job definitions. You cannot place a job on ice if it has a
STARTED or RUNNING status. Choosing this option is equal to sending a
JOB_ON_ICE event.
Off Ice
Takes the selected jobs off ice, which is the functional equivalent of
reactivating the job definitions. When you take a job off ice, it will start the
next time the starting conditions are met. Choosing this option is equal to
sending a JOB_OFF_ICE event.
Note: If you want to add your own buttons, see Using the User Defined Buttons
Dialog.
The Time Perspective option has the following submenu options that control the
time perspective of the summary area display:
Local Time
Displays the time in the time zone of the machine on which your Scheduler
Console is running.
The Time Perspective that you choose appears in the status bar at the bottom of
the Scheduler Console. If it is based on a job, the job name appears before the
time in the display. If it is based on an instance, the instance name appears
before the time.
Managing Alarms
12
This chapter describes how to use the Alarm Sentry and the Alarm Manager to
manage alarms. Alarms are information events, and they invoke no action on
their own.
Click Alarm Sentry in the GUI Control Panel. This action opens a window
similar to the following figure. Your Alarm Sentry will have a button for
each instance it can access.
The following illistration shows the Alarm Sentry for one instances:
In addition to the button area display, the Alarm Sentry has a menu bar. In the
button display area, there is a button for each instance to which the Alarm Sentry
can connect. The number that follows the instance name specifies the number of
open alarms that instance has.
The status area at the bottom of the window indicates whether the Alarm sentry
is updating or “done” updating.
The Alarm Sentry has the following menus: File, Preferences, and Help.
File Menu
Exit
Closes the Alarm Sentry.
Preferences Menu
General
Opens the Refresh Interval dialog that you can use to set the time in seconds
between refresh (updating the buttons based on the database information).
You set the interval in seconds, and the default setting is every 60 seconds.
Help Menu
Contents
Displays the table of contents for the Unicenter AutoSys JM Help.
About
Displays the Alarm Sentry version number.
or:
■ Click the Alarm Manager button in the GUI Control Panel. This action opens
an Alarm Manager that displays the alarms for all instances to which it can
connect.
Either of these actions opens an Alarm Manager dialog similar to the following
illistration.
Note: In addition, you can open the Alarm Manager from the Scheduler Console
by choosing Alarm Manager from the Applications menu.
The Alarm Manager dialog has a menu bar and the following three regions,
which are described in the sections following:
The Alarm Manager menu bar contains the following menus: File, Filters, Tools,
Preferences, and Help.
File Menu
Exit
Closes the Alarm Manager.
Filters Menu
Select Alarms
Displays the Alarm Selection dialog (described in Filtering Alarms in this
chapter). Use this dialog to define the filter by which you want to view
alarms.
Tools Menu
Send Event
Opens the Send Event Tool for the selected job (the job for which the alarm
was generated). Using this dialog, you can send events, and you can cancel
events that have been scheduled for a later time. For information, see Using
the Send Event Tool in the chapter “Scheduler Console,” in this guide.
Preferences Menu
General
Opens the Preferences dialog in which you can set the Time between
refreshes in seconds, and you can enable Sound.
The default refresh interval time is 60 seconds, and for refresh to work, you must
select the Auto Refresh check box (which is the default setting).
If you select the Sound check box in the Preferences dialog, the running Alarm
Manager plays sound clips associated with alarms each time a new alarm is
generated. This Sound setting overrides the Enable Sound setting on the
Unicenter AutoSys Administrator Sounds screen.
Help Menu
Contents
Displays the table of contents for the Unicenter AutoSys JM Help.
About
Displays the Alarm Manager version number.
The Alarm List region of the dialog displays a list of all the alarms that are
currently in the system and that meet the specified viewing criteria, either the
default or the one specified in the Alarm Selection dialog. The default is to
display all Open and Acknowledged alarms of any type, regardless of the time
they were generated.
Each entry in the Alarm List contains the following information about a single
alarm:
■ Job Name, which is the job for which the alarm was generated.
■ Time, which is composed of the date and time at which the alarm was
generated.
■ Comment, which is any comment associated with the alarm at the time it
was generated.
■ Instance, which is the name of the instance for which the job is defined.
Alarms are displayed in reverse order of occurrence; the newest alarms appear at
the top of the list and older ones appear farther down.
Click on its line in the alarm list. When you do this, you can view more
information about the alarm.
You can also select multiple alarms, which allows you to perform actions on
all of the selected alarms multiple alarms at the same time.
■ Press the Ctrl key and click on each alarm that you want to select.
Pressing the Ctrl key and clicking on a selected alarm will deselect the
alarm.
or:
■ Click on one alarm, press the Shift key, and click on another alarm. This
will select the two alarms and all the alarms in the list between them.
Clicking anywhere in the alarm list will deselect the currently selected alarms.
The Currently Selected Alarm region of the dialog displays more information
about the currently selected alarm and allows you to enter a response in the
Response scrollable text box.
The Response scrollable text box accepts multiple lines of text. The entered text is
automatically word wrapped, with lines breaking at appropriate spaces. You can
use the mouse to edit text. In addition, you can use the arrow and backspace
keys as well as the Tab and Enter keys. Once you enter your Response, click
Apply to write it to the database.
The User field, beneath the Response scrollable text box, shows the user who
invoked the Alarm Manager. This read-only field shows which user responded
to the alarm field.
The Alarm State region lets you change the alarm state to Acknowledged or
Closed. Once an alarm is changed from the Open state, you cannot return it to
the Open state.
If you change the alarm to Acknowledged, it remains on the list. If you change
the alarm to Closed, it is removed from the list.
To register a response or change the state of an alarm in the database, you must
explicitly save the alarm. Because the Alarm Manager will probably run on a
continual basis, use the Apply button to register changes that you make to any
alarms. That is, when you enter a response or change alarm states, you must
click Apply to save the change to the database.
At the bottom of the Alarm manager is the Refresh area, and it contains the Auto
Refresh setting, which you can turn off or on, and the Refresh button.
By default Auto Refresh is selected (set to on). The on setting indicates that the
Alarm Manager should be updated based on the setting in the General dialog,
which you can open from the Preferences menu. The default refresh interval is
60 seconds. With this setting, the Alarm Manager reads from the database to
update the alarm list every 60 seconds.
If you uncheck the Auto Refresh check box, setting it to off, the Console display
is not updated.
or:
■ Click Refresh.
Filtering Alarms
Alarms and their responses are stored in the database, from which you can
retrieve them for viewing or for adding additional responses. To control
dynamically which alarms are displayed in the Alarm Manager, use the Alarm
Selection dialog.
Using the Alarm Selection dialog, you can select alarms by the following:
■ Type of alarm
■ Instance name
Choose Filters, Select Alarms. The Alarm Selection dialog appears with the
defaults set, as shown in the following illistration:
The Alarm Selection dialog is divided into the following regions, described in
the sections following:
■ Select by Type
■ Select by State
■ Select by Instance
■ Select by Time
After you define your filter, you can view it in the Alarm Manager.
Click OK. This action sets your selections and dismisses the Alarm Selection
dialog.
Click Cancel.
In the Select by Type region of the dialog, a list of all possible alarm types is
displayed. From this list, you can select one, several, or all types of alarms. The
default is All Types of alarms.
Click and hold the mouse button on the first alarm name, drag the cursor to
the last alarm in the range, and release the mouse button.
Press the Ctrl key and click the desired alarms. To deselect an alarm, press
the Ctrl key and click the selected alarm.
Select the All Types option, which overrides any specific or individual
selections.
For information on the Alarm Types, see the section Alarms in the chapter
“System States, “ of the Unicenter AutoSys Job Management Reference Guide.
You can also select alarms by the state of the alarm. You can select All States, or
you can select individual states. To do so, you click on, and check, the
appropriate check boxes. The default setting is to display all Open and
Acknowledged alarms.
You can select which instances you want included in this filter. The instances on
this list are the ones to which this Alarm Manager can connect.
By default, alarms are shown regardless of the time they were generated. You
can choose to display only alarms that were generated during a specific date and
time window.
Uncheck the All Times check box, and fill in the From Date, From Time, To
Date, and To Time fields. You can specify dates without times, but you
cannot specify times without dates. You must use a 24-hour format when
specifying times.
For your convenience, the current system date and time are filled in
automatically.
Because browsers are reports, and because “report” is a common term, this
document uses the term report, except when talking about the Monitor/Browser
interface components.
Monitors and reports are simply applications that retrieve data from the
database. Because all information is in the database, monitors and reports that
retrieve information from the database provide a complete picture of the state of
the entire system. Monitors and reports can run with any database, and they
work with dual-event servers. Also, you can run monitors and reports on any
client machine.
You can define monitors and reports to display events by using the following:
■ Event type
■ Job type
■ Job name
In addition, you can define reports to display events based on the time the events
occurred. You cannot define monitors to display based on event time because
they provide realtime information.
You can define monitors and reports by using the Monitor/Browser Editor,
which you open from the GUI Control Panel. In the Monitor/Browser Editor,
you can define a new monitor or report by assigning a name and specifying a
number of attributes that define its behavior.
In addition, you can define monitors and reports by passing Job Information
Language (JIL) statements to the jil command. For information, see Defining
Monitors and Reports Using JIL in this chapter.
In either case, the monitor or report definitions are stored in the database.
Because the definitions are stored in the database, you can run defined monitors
or reports at any time without redefining the criteria.
Using Monitors
Monitors provide a realtime view of the system. These are the two steps
necessary to use a monitor:
A running monitor is an application that polls the database for new events that
meet the selection criteria. Monitors are strictly informational. They provide an
up-to-the-minute window to events as they occur. For box jobs, you can specify
to track all job levels.
Note: Monitors provide a picture of the system’s state in real time. If the event
processor is down, monitors will not provide any information.
Using Reports
For example, you could create a report based on the finish time of the database
backup for the last two weeks, or one based on all jobs that have an alarm
associated with them. You can also create reports that contain all the job levels in
box jobs.
Report definitions are also stored in the database, enabling you to run defined
reports at any time, without redefining the criteria.
1. Open the GUI Control Panel from the Graphical Interface icon in the
program group.
2. In the GUI Control Panel, click Monitor/Browser Editor, which displays the
Monitor/Browser Editor shown in the following illistration.
3. Select Monitor or Browser from the drop-down list at the top of the editor
window.
4. Set the various attributes and their values using the fields and checkboxes.
5. Save the monitor or report definition to the database. When you do this you
can select the instance to save the definition to, and can specify the name of
the monitor or report.
Note: When you first select an instance in any of the Monitor/Browser Editor
dialogs, Unicenter AutoSys JM establishes a connection to that instance’s
database, and maintains that connection until you close the Monitor/Browser
Editor.
The Monitor/Browser Editor contains fields that represent all the information
needed to define a monitor or report. For more information about these fields,
see Setting Monitor and Report Attributes in this chapter.
At the top of the Monitor/Browser Editor is a menu bar that contains the
following menus: File, Edit, and Help.
File Menu
New
Opens the New Monitor/Browser dialog, which allows you to select an
instance and enter a unique name for the new monitor or report you are
going to define.
The monitor or report name identifies the monitor or report, and must be
unique within an instance. A monitor and report cannot have the same
name, but a monitor or report can have the same name as a job. A monitor or
report name can be from 1-30 alphanumeric characters. Embedded spaces
are illegal.
Open
Opens the Open dialog, which allows you to search for and select an existing
monitor or report. In the Pattern field of this dialog, you can specify any
string, including the percent (%) wildcard character, then click Search to
display a list of those monitors and reports whose names include the string.
The default filter, “%,” displays a list of all monitor and report names.
Save
Stores the currently displayed monitor or report in the database. When you
Save a definition for the first time, this option opens the Save As dialog.
Save As
Opens the Save As dialog, which allows you to select an instance and enter a
new name for the monitor or report. You can use this option to save a
definition to a different instance or a different name.
Delete
Displays the Delete Monitor/Browser dialog, which allows you to search for
existing monitors and reports. In this dialog, you can select one or more
monitors or reports, and click OK. This action deletes the selected definitions
from the database.
Run Monitor/Browser
Runs the current monitor or report and displays output in an AutoSys
Instance Command Prompt window. Monitor and report definitions must be
saved in the database before they can be run.
Exit
Closes the Monitor/Browser Editor. If you have unsaved work, you are
prompted to choose whether or not to save it before the editor is closed.
Note: When you first open a Monitor/Browser Editor, and when you select a
new instance in any of the Monitor/Browser dialogs, Unicenter AutoSys JM
establishes a connection to that instance’s database, and it maintains that
connection until you close the Monitor/Browser Editor.
Edit Menu
Clear
Clears the Monitor/Browser Editor without affecting the database. Use this
button to clear all fields before you begin defining a new monitor or report.
Help Menu
Contents
Displays the table of contents for the Unicenter AutoSys JM Help.
About
Displays the Monitor/Browser Editor version number.
Defining a Monitor
This example describes how to define a monitor with the name “Regular.” This
monitor will monitor all alarms, plus job status events when a job changes state
to running, success, failure, or terminated.
3. In the Job Change Status Events sub area; select the Running, Success,
Failure, and Terminated check boxes.
4. In the Job Selection Criteria area, select the All Jobs radio button.
6. In the Save As dialog, select an Instance, and enter the following name for
the new monitor:
Regular
7. In the Save As dialog, click OK. A message is displayed when the monitor
definition is successfully written to the database. Your entries in the
Monitor/Browser Editor should look like those shown in the following
illistration.
You can leave the Monitor/Browser Editor open to do the next example.
Note: If you want to run the monitor, you must save it first, and then choose
File, Run Monitor/Browser. When you run a monitor or a report from the
Monitor/Browser Editor, an Instance Command Prompt window opens to
display the monitor or report output.
Defining a Report
This example describes how to define a report with the name “Alarm_Rep.” This
definition will create a report that contains all alarms on any job, from May 22,
1997, at 2:00 a.m. to the present.
2. In the dialog, select an Instance, and enter the following report name:
Alarm_Rep
3. Click OK in the New Monitor/Browser dialog. This action returns you to the
Monitor/Browser Editor.
4. From the drop-down list at the top of the window, select Browser.
6. In the Job Selection Criteria area, select the All Jobs radio button.
7. In the Browser Time Criteria area, enter the date and time in the Events After
Date/Time text field as follows (or you can enter a different, more
appropriate, time):
05/22/1997 2:00
Your entries in the Monitor/Browser Editor should look like those shown in the
following illistration:
■ Event Types
■ Monitor Options
You can define several different filters by which monitors and reports will track
events. When you complete a definition, the events that are tracked are
determined by the combination of the Event Types and the Job Selection Criteria
settings.
The Event Types you specify determine which events will be monitored or
reported. Events include the following:
Selecting the All Events check box specifies that all events will be tracked for the
selected jobs. Any other Event Types filtering settings are ignored. All Events
include job status events and alarms. If you do not select this check box, the other
Event Types settings are used.
If you want to monitor all the events for all jobs, you should not run a monitor.
Instead, you should display the event processor log in real time, by using the
following command at an AutoSys instance command prompt:
autosyslog –e
Selecting the Alarm check box specifies that generated alarms should be tracked.
If you select the All Events check box, alarms are already tracked. To limit the
events that are tracked, however, you can select both Alarm and All Change
Status Events, or choose specific Job Change Status Events as filters (described
below).
Selecting the All Change Status Events check box specifies that all job status
events should be tracked. Job status events occur whenever a job’s status
changes. If this attribute is checked all of the Job Change Status Events shown
below as well as a few internal job status events are tracked.
You can select both All Change Status Events and Alarms as filters. If you select
the All Events check box, change status events are automatically tracked.
Job Change Status Instead of selecting All Change Status Events, you can select the following Job
Events Change Status Events (JIL attribute values are in parentheses):
■ Running (running)
■ Success (success)
■ Failure (failure)
■ Terminated (terminated)
■ Starting (starting)
■ Restart (restart)
Note: If you select All Change Status Events, any Job Change Status Events that
you select are ignored, because they are already included in the All Change
Status Events filter.
In the Job Selection Criteria area you can indicate the jobs to track. The events to
be tracked are determined by the combination of the Event Types that you set as
filters and the Job Selection Criteria you set in this area.
You can set the Job Filter to one of three settings: All jobs (no job filtering), all
jobs in a box job with a specified name, or a single job with a specified name. If
you select either the Jobs in Box named or Single Job named radio buttons, you
must enter the job name in the field to the right of these choices.
Selecting the Sound check box specifies that the sound facility should be used. If
the Windows machine running the monitor has sound capabilities and you have
enabled sound using the Unicenter AutoSys Administrator, Unicenter AutoSys
JM uses sound to announce the events as they occur. The announcement is from
prerecorded sound clips.
For more information about enabling AutoSys sounds, see the section Sounds in
the Chapter “Administrator,” in this guide.
Note: We strongly recommend that you use the sound attribute for monitoring
AutoSys, especially alarms. It frees you from needing to look through output
files to see if there were any problems. However, for the sound attribute to work,
the monitor must be running.
Selecting the Alarm Verification Required check box specifies that personnel
must respond to alarms to turn the alarms off. This verification feature prompts
users (in the window running the monitor) for their initials and a comment. This
information is timestamped and logged in the msg_ack database table, along
with the alarm event. Execute SQL against the msg_ack table to view the account
of the alarms responded to and at what time.
When defining reports, you must specify one of the Browser Time Criteria
options. Reports are based on all events in the database, and the Browser Time
Criteria allows you to select events that occurred within a particular span of
time. The two choices are mutually exclusive.
Note: These settings are disabled for monitors because time is not used in
monitors; monitors only show events as they occur.
Selecting the Current Run Only check box specifies that only events in the
current or most recent execution of the specified jobs will be reported. This
option allows you to get a report on what happened most recently. This is the
default selection.
For example, to get a report on all the jobs that restarted in its last run, select
Restart in the Job Change Status Events area, select All Jobs in the Job Selection
Criteria area, and select this check box.
Entering a date and time in the Events After Date/Time field specifies that only
the events occurring after that date and time for the specified jobs, are in the
report. To use this option, you must first deselect the Current Run Only
checkbox. This entry must be in the date time format set locally, which is
displayed under the field. The setting is typically the mm/dd/[yy]yy hh:mm
format.
Note: If your local setting uses a two-digit year, you must enter the year in that
format. Unicenter AutoSys JM however saves the setting to the database using a
four-digit year. If you enter 79 or less, Unicenter AutoSys JM prepends 20, and, if
you enter 80 or greater, Unicenter AutoSys JM prepends 19.
where
Press Ctrl+C.
■ insert_monbro
■ update_monbro
■ delete_monbro
At the Instance Command Prompt, submit the JIL script file, like:
jil < jil_script
where:
jil_script Is the name of the file containing the jil monitor and report definitions.
The examples in the following sections include the JIL versions of the monitor
and report examples in Defining Monitor and Reports with the Editor in this
chapter.
Note: For a complete listing and description of the JIL commands and
subcommands that you can use to define monitors and reports, see the chapter
“JIL/GUI Monitor/Report Definitions” in the Unicenter AutoSys Job
Management for Windows and UNIX Reference Guide.
The first example in this section defines a monitor with the name “Regular.” This
monitor will track all alarms, plus job status events when a job changes state to
running, success, failure, and terminated:
/* Monitor for all ALARMS, and
* Job EVENTS: RUNNING,SUCCESS,FAILURE & TERMINATED
*/
insert_monbro: Regular
mode: m
alarm: y
running: y
success: y
failure: y
terminated: y
The following JIL statements define a monitor that catches alarms, generates a
sound, and repeats the sound until someone responds:
/* Monitor for JUST ALARMS!
* Verification Required is ON so someone must
* type in a response.
* Sound is ON!
*/
insert_monbro: Alarm
mode: m
sound: y
alarm: y
alarm_verif: y
This example defines a report with the name “Alarm_Rep.” This report will
report all alarms on any job from April 1, 1997, at 2:00 a.m. to the present.
insert_monbro: Alarm_Rep
mode: b
alarm: y
after_time: "05/22/1997 2:00"
In this example, quotes are required because the time contains a special
character, the colon.
Note: Reports can display only events that are still in the database. Archived
events are inaccessible and cannot be displayed.
Maintaining
14
This chapter describes the procedures for maintaining Unicenter AutoSys JM
and the database.
The database that is designated as the Event Server must be available, running,
and properly identified before you can start the Event Processor.
2. On the Instance screen, specify the Computer and Instance you are
modifying and click OK. The Computer should be the machine on which the
Event Processor is installed.
or:
4. On the Services screen, select the AutoSys Event Processor from the Service
drop-down menu.
Maintaining 14–1
Maintaining the Event Processor
If you set up a Shadow Event Processor, it starts automatically when you start
the Primary Event Processor.
WARNING! Do not log onto the Shadow Event Processor machine and start the
Shadow Event Processor manually. Doing this will cause the Shadow Event
Processor to act as the Primary Event Processor, which will cause a failure.
Note: Most services, including the Remote Agent and the Event Server (database
service), start automatically at boot time. We recommend that you start the Event
Processor manually after booting your system. If you lose several systems at
once due to power failure, this approach allows the Remote Agents to start on
their respective machines before you start the Event Processor.
After you start the Event Processor, but before it begins processing, it performs
the following tasks:
Note: If you want it to also check that no other Event Processors are running
on other machines, add the machine names to the Network Machine List
field in the AutoSys Administrator Event Processor screen.
■ Invokes the chase -A -E command. The chase utility determines from the
database which jobs are in the STARTING or RUNNING state, and on which
machine. For each client machine, chase passes the Remote Agent a list of
jobs that are supposed to be running there and instructs the Remote Agent to
verify that the processes actually are running. chase also verifies that the
Remote Agent is running. If chase locates anomalies, it sends an alarm. If a
job is not running as expected, the Event Processor sends the necessary
corrective event for the job, if the job definition allows this.
■ If the event being processed is a STARTJOB event, and the job it started is
still alive, the Event Processor will not start it again. The purpose of running
the chase utility is to guarantee that the Event Processor starts with all
processes in a known state. Problems are detected upon Event Processor
startup. This method is similar to database check pointing and rolling
forward or backward upon recovery.
Note: You can turn off this Event Processor startup behavior by deselecting the
Chase On Startup check box located on the Unicenter AutoSys Administrator
Event Processor screen. For more information on using the Unicenter AutoSys
Administrator, see the section Administrator Event Processor in the chapter
“Administrator,” in this guide.
This log file contains a record of all the actions taken by the Event Processor,
including startup and shutdown information.
When you execute this command, the last ten lines of the log file are displayed,
and then all additions to the log are automatically displayed as they occur.
Press Ctrl+c.
Note: We recommend that you use the autosyslog -e command to follow the
behavior of the Event Processor. It displays the log file, which generates
information on all Event Processor activity.
Maintaining 14–3
Maintaining the Event Processor
When the Event Processor has problems starting, the error log is written to
different place, which is dependent upon when the starting process fails. You
can locate the error description in one of the following locations:
■ If the Event Processor fails early in startup, the error is written to the
Windows Event Log.
■ If the Event Processor fails during the startup procedure, the error is written
to the designated Enterprise Wide Directory, in:
event_demon.%AUTOSERV%.out
■ If the Event Processor has problems while running, the error is written to:
%AUTOUSER%\out\event_demon.%AUTOSERV%
The Maximum Log Size setting on the Administrator Event Processor screen
specifies the maximum size of the Event Processor log file. The Event Processor
reads this setting on startup and checks the file size. If the file is the indicated
maximum size, the Event Processor deletes it. The Event Processor log has a file
system threshold setting. The Event Processor shuts down if there is less than 8
kilobytes of disk space available. However, if the amount of available disk space
falls below that specified by the FileSystem Threshold setting in the
Administrator Event Processor screen, the Event Processor issues warnings in
the Event Processor log file.
For information on the FileSystem Threshold setting, see the section Unicenter
AutoSys Administrator Event Processor in the chapter “Administrator,” in this
guide.
Starting the Event Processor in Global Auto Hold mode prevents the system
from being flooded with jobs that were scheduled to run during the downtime.
When you select Global Auto Hold, the Event Processor evaluates all jobs whose
starting conditions have passed and are eligible to run, but instead of starting the
jobs, the Event Processor puts them ON_HOLD. It does this for all types of jobs
(Box, Command, and File Watcher Jobs).
This approach allows you to decide which jobs should run by selectively starting
them with the Force Start Job event. The only way to start a job when Global
Auto Hold is on is to send the FORCE_STARTJOB event.
2. On the Instance screen, specify the Computer and Instance you are
modifying and click OK. The Computer should be the machine on which the
Event Processor is installed.
or:
4. Click the Global Auto Hold checkbox to select it, and click OK.
or:
6. On the Services screen, select the Event Processor from the Service drop-
down menu.
Maintaining 14–5
Starting the Event Processor in Global Auto Hold Mode
or:
or:
3. On the Instance screen, specify the Computer and Instance you are
modifying and click OK. The Computer should be the machine on which the
Event Processor is installed.
or:
5. Click the Global Auto Hold check box to deselect it, and click OK.
or:
7. On the Services screen, select the Event Processor from the Service drop-
down menu.
Note: If you have AutoSys configured with a Shadow Event Processor, and you
start the Event Processor in Global Auto Hold mode, the Shadow Event
Processor will also be in Global Auto Hold mode.
It is safe to stop the Event Processor at any time, if it is stopped properly. Only
the Exec Superuser can stop the Event Processor.
Note: Stopping the Event Processor does not affect jobs that are already running.
They continue to run to completion, at which time the exit events are sent
directly to the database. The effect of stopping the Event Processor is that actions
triggered by incoming events sent from the Remote Agents are not initiated until
you start the Event Processor again.
This method allows the Event Processor to complete gracefully any processing it
is performing. You can assign a high priority to the sendevent -E STOP_DEMON
command by including the -P 1 argument. When you issue the sendevent
command, the STOP_DEMON event is sent to the database. The Event Processor
then reads the STOP_DEMON event, goes into an orderly shutdown cycle, and
exits.
There might be a delay between when you send the STOP_DEMON event and
when the Event Processor reads it and shuts down. If the Event Processor does
not shut down immediately, do not send another STOP_DEMON event, because
the event Processor will process that event the next time it starts, and it will
promptly shut down.
For more information about the sendevent command, see sendevent in the
chapter Commands, in the Unicenter AutoSys Job Management for Windows
and UNIX Reference Guide.
WARNING! Do not attempt to stop the Event Processor by using a utility such
as pview or by using the Control Panel Services dialog. These methods stop the
Event Processor no matter what it is doing; it might be in the middle of
processing an event. Also, if you are using Dual Event Servers and use these
methods, the databases can lose synchronization.
Maintaining 14–7
Starting the Event Processor in Global Auto Hold Mode
You can configure a Shadow Event Processor to act as a backup Event Processor.
The Shadow Event Processor is normally idle; it listens for the periodic signals
(every 90 seconds) from the Primary Event Processor that indicate the Primary
processor is still functioning.
If the Shadow Event Processor does not receive the signal, it does the following:
■ If it cannot connect to the Third Machine, the Shadow Event Processor shuts
down.
or:
■ If it can connect but cannot locate the .dibs file, the Shadow Event Processor
creates the file, attempts to signal the Primary Event Processor to stop, and
takes over processing the events.
or:
■ If it can connect and the .dibs file already exists, the Shadow Event Processor
shuts down. Similarly, if the Primary Event Processor cannot locate and
signal the Shadow Event Processor, the Primary processor checks the Third
Machine for the .dibs file, and follows the same procedure as the Shadow
Event Processor.
If the Primary Event Processor and an Event Server are on the same machine, the
Event Processor failure could also mean an Event Server failure. In this situation,
if Dual Event Servers are configured, Unicenter AutoSys JM will roll over to the
Shadow Event Processor and to Single Server mode. Unicenter AutoSys JM uses
the Third Machine and the existence of the .dibs file to resolve contentions and to
eliminate the case where one processor takes over because its own network is
down. However, the Shadow Event Processor is not guaranteed to take over in
100% of the cases. For example, in the case of network problems, Unicenter
AutoSys JM might not be able to determine which Event Processor is the
“healthy” one, and it will shut down both processors.
You can specify the Shadow Event Processor and the Third Machine using the
Unicenter AutoSys Administrator Event Processor screen (accessed from the
program group). For more information, see the chapter “Administrator,” in this
guide.
1. Stop the Shadow Event Processor by logging on as the Exec Superuser, and
issuing the following command:
sendevent -E STOP_DEMON
3. Specify the Computer and the Instance you are modifying, and click OK.
5. On the Services screen, select the Event Processor from the Service drop-
down menu.
The Shadow Event Processor starts automatically when you start the Primary
Event Processor.
Note: If you attempt to start the Primary and Shadow Event Processors without
having a Third Machine specified in the Unicenter AutoSys Administrator, the
Shadow Event Processor will not start.
Maintaining 14–9
Maintaining the Remote Agent
The Remote Agent service should start automatically when the machine is
started (this is set in the Control Panel Services dialog), so under normal
circumstances you should not need to start the Remote Agent manually. If for
some reason the Remote Agent service is stopped, any user with Administrators
group privileges can restart it.
2. On the Instance screen, specify the Computer and Instance of the Remote
Agent you want to start, and click OK.
or:
4. On the Services screen, select the Remote Agent service from the Service
drop-down list.
The red, yellow, or green light of the traffic light icon and the field under it
indicate the status of the Remote Agent. In addition, if the Remote Agent is
not running, Start Service is enabled (if it is running, Stop Services is enabled
and Start Services is disabled).
If the Remote Agent does not start, see the section Remote Agent
Troubleshooting in the chapter “Troubleshooting,” in this guide.
You should not stop the Remote Agent service. If it is inadvertently stopped, see
the previous section for directions on how to restart it.
Maintaining 14–11
Running in Test Mode
■ If the event processor and the remote agents are installed and configured
properly. Running in test mode uses the same mechanisms of starting jobs
and sending events that Unicenter AutoSys JM uses in its normal mode.
You can run the event processor at two levels of test mode. You do this by
setting the %AUTOTESTMODE% environment variable before starting the event
processor. The levels of test mode are determined by the value of the
%AUTOTESTMODE% variable. These are the values, which are discussed in the
following sections:
■ %AUTOTESTMODE%= 1
■ %AUTOTESTMODE% = 2
Note: The event processor cannot run partially in test mode; Unicenter AutoSys
JM does not provide a test mode for the database. Therefore, you should exercise
extreme caution when you run in test mode on a live production system.
%AUTOTESTMODE% = 1
At the first level of test mode, each job that you specify runs with the following
test mode variations:
■ Standard output and standard errors for the command are redirected to the
\tmp\autotest %AUTO_JOB_NAME% file, where %AUTO_JOB_NAME% is
the job name as defined to AutoSys.
■ If the job being run in test mode is a file watcher job, it is not disabled; it runs
as it would in real mode.
%AUTOTESTMODE% = 2
The second level of test mode runs with the same behaviors as the first level with
the addition of the following procedures:
■ Output from the ntgetdate command goes to the user defined standard
output and standard error files, if they are defined; otherwise, output goes to
the file named
\tmp\autotest.%AUTO_JOB_NAME%
Maintaining 14–13
Maintenance Commands
Maintenance Commands
The maintenance commands described below are located in the
%AUTOSYS%\bin directory. You can execute these commands from the
Instance Command Prompt window or as an job.
chase
The chase command verifies that the expected jobs are running. It goes to every
machine that should be running a job and verifies that the following are true:
Errors detected by chase are sent to standard output. The options used with
chase further determine what actions are taken when error conditions are
detected. chase can send alarms to alert you to the problems it finds (by using
the -A option). In addition, it can automatically restart jobs that are “missing in
action” and that are defined to be restartable (by using the -E option). For more
information about the chase command, see the chapter “Commands,” in the
Unicenter AutoSys Job Management for Windows and UNIX Reference Guide.
Note: There is no way for chase to tell if a machine is down; therefore, it cannot
tell if jobs on that machine are running, or if the network connection to the
machine is down. If you run chase with the -E option, jobs that have already run,
or are running on the machine with the failed network connection might be
restarted if the network connection is re-established.
clean_files
The clean_files command deletes old remote agent log files. It performs this task
by searching the database for all machines that have had jobs started on them,
and then sending a command to the database on that machine to purge all
remaining log files from the machine’s remote agent log directory (specified by
AutoRemoteDir in the configuration file). To remove only the log files older than
a specific number of days, use the following command:
clean_files -d days
where:
days Specifies that files older than this number of days should be deleted.
For more information about the clean_files command, see the chapter
“Commands,” in the Unicenter AutoSys Job Management for Windows and
UNIX Reference Guide.
Maintaining 14–15
Backing up Definitions
Backing up Definitions
We recommend that you back up the following definitions periodically to ensure
that you have files to restore from in case of a system failure:
■ calendar definitions
■ job definitions
■ machine definitions
■ global variables
For information about restoring the backed up definitions, see the section
Restoring Definitions in this chapter.
We also recommend that you keep a copy of your license keys in case you need
to reinstall them.
To back up definitions:
d. Click Save.
2. Save your job definitions, from a Instance command prompt, execute the
following command:
autorep -J ALL -q > c:\directory\autosys.jil
where:
3. Append your machine definitions to the same file that contains your job
definitions, from the Instance command prompt, execute the following
command:
autorep -M ALL -q >> c:\directory\autosys.jil
where:
directory Is the same directory where you saved your job definitions, a directory outside
of the Unicenter AutoSys JM directory structure.
Note: To append definitions to an existing file, you enter >> instead of >. We
recommend that you append your job, machine, and monitor and browser
definitions to the same file. Then you have only one file to restore following
a system failure.
4. Append your monitor and browser definitions to the same file that contains
your job and machine definitions, from the Instance command prompt,
execute the following command:
monbro -N ALL -q >> c:\directory\autosys.jil
where:
directory Is the same directory where you saved your job definitions, a directory outside
of the Unicenter AutoSys JM directory structure.
5. Save your global variables to their own file, from the Instance command
prompt, execute the following command:
autorep -G ALL > c:\directory\globals.jil
where:
This command saves your global variables to a file named globals.jil. This
file is simply a record of what you must redefine following a system failure.
Note: You can create a job that runs periodically to back up your definitions
automatically.
6. Save your license keys, run the gatekeeper command to print your current
license keys to a file.
Maintaining 14–17
Restoring Definitions
Restoring Definitions
The procedure in this section assumes that you backed up your definitions by
following the procedure in Backing Up Definitions in this chapter.
To restore definitions:
c. In the Open dialog, select the directory and file name of the text file that
contains your calendar definitions.
d. Click Open.
2. Restore your job, machine, and monitor and browser definitions, from a
AutoSys Instance command prompt, execute the following command:
jil < c:\directory\autosys.jil
where:
3. Restore your global variables, reference your backup file, redefine any global
variables and reset the necessary Administrator settings.
Database Overview
All information is stored in a relational database known as the Event Server or
database. For this database, you can use a Sybase, an Oracle, or a Microsoft SQL
Server database.
An Event Server contains all of the information about a particular instance. The
Event Processor reads from the Event Server to determine what actions to take.
The Remote Agents send starting, running, and completion information about
jobs to the Event Server. Due to the critical nature of the information stored in
the database, you can configure to run with Dual Event Servers (two databases).
Dual databases provide redundancy in the event of an Event Server crash.
Note: While Unicenter AutoSys JM uses the database solely as an SQL engine, it
does use Sybase Open Client C Library communications protocol, Oracle
SQL*Net V2, and Microsoft SQL Server Multi-Protocol Net-Library to send
events around the system.
Maintaining 14–19
Event Server Overview
■ Job definitions
■ Events
■ Calendar information
■ Machine definitions
For a list of the database tables and views as well as the event and alarm codes
used in the database, see the chapter “Database Tables and Codes, “ in the
Unicenter AutoSys Job Management for Windows and UNIX Reference Guide.
When you configure with Dual Event Servers, all of the data is duplicated on
two Event Servers. In Dual Server mode both servers are peers, and the Event
Processor is responsible for keeping the databases synchronized. The Event
Processor continually reads from both databases as it processes events.
For information about installing a second Event Server, see the section Installing
Dual Event Servers in the chapter “Advanced Configurations,” in the Unicenter
AutoSys Job Management for Windows Installation Guide.
The standard sizes for databases are 64 MB (Sybase and Microsoft SQL Server)
and 128 MB (Oracle). The standard sizes for databases are the recommended
sizes. If your job load is large, you should create a larger database. The size
requirements for your database depend on the following:
■ How often the database is cleaned. (Every time a job runs, it generates at
least three events and an entry in the job_runs table.)
Maintaining 14–21
Database Architecture
Database Architecture
The following illustration shows the layout of databases in an Unicenter AutoSys
JM environment, and it will help you understand configuration options. It
depicts how Unicenter AutoSys JM determines which database to use, and how
the three primary components (the Event Processor, the database, and the
Remote Agent) interact.
databases Processes
The previous illustration shows one instance that is configured with Dual Event
Servers, which are used only by this one instance. Both the Event Processor and
the Remote Agent ensure that events are written to the appropriate databases.
Once a day, the Event Processor performs internal database maintenance. During
this time, it does not process any events; it waits for the maintenance activities to
complete before resuming normal operations. By default, this maintenance cycle
starts at 3:30 a.m. If it is necessary to change the start time, reset it to a time of
minimal activity. You can specify the Database Maintenance Command and
Database Maintenance Time in their fields on the Unicenter AutoSys
Administrator Event Processor screen. Use a 24-hour format for the time entry.
For information on setting the database maintenance time and using the
Unicenter AutoSys Administrator, see the section Administrator Event Server in
the chapter “Administrator,” in this guide.
Maintaining 14–23
General Database Maintenance
■ Update statistics in the database for optimal performance. For Sybase and
Microsoft SQL Server databases, it updates statistics for the event, job,
job_status, and job_cond tables. For Oracle, it computes statistics for all of
the tables.
■ Run the dbspace command to check the available space in the database. If
the amount of free space is insufficient, it issues warning messages and
generates a DB_PROBLEM alarm.
Note: If you use an Oracle database, running DBMaint may report that your
database is close to full when this is not the case. This can occur because
DBMaint calculates how much space is not allocated for extents. The extents may
be nearly empty, but DBMaint reports the whole extent as used space.
■ Calculate and update the average job run statistics in the avg_job_run table.
When dbstatistics is run, old data is overwritten with the new data.
DBMaint runs the archive_events command to remove old information from the
various database tables. Specifically, archive_events removes the following:
■ Events and any alarms associated with them from the event table
For more information on the dbstatistics and archive_events commands, see the
chapter “Commands,” in the Unicenter AutoSys Job Management for Windows
and UNIX Reference Guide. For a list of the database tables and views, as well as
the event and alarm codes used in the tables, see the chapter “Database Tables
and Codes,” in the Unicenter AutoSys Job Management for Windows and UNIX
Reference Guide
When you modify the script, copy it first, and then add your enhancements to
the copied version. If you modify the script, you should keep a backup copy of it;
then, when you upgrade, you will not lose your changes. You can use your
enhanced batch file to modify the newly installed file.
The batch file name is specified in the Database Maintenance Command field on
the Unicenter AutoSys Administrator Event Processor screen.
Data Locking
Depending on your environment, you may see many Sybase deadlock messages
in the event_processor log. While this has no adverse effect on the integrity of
your system, it can affect performance. To reduce the number of deadlocks, you
can turn on row-level locking.
To turn on row-level locking for the entire database, type the following at an xql
prompt:
sp_configure "lock scheme", 0, datarows;
Maintaining 14–25
Event Server Rollover Recovery
Or, you can lock tables individually, with the following command from an xql
prompt:
alter table <table> lock datarows;
Where <table> indicates the name of the table on which to configure row-level
locking. Based on usage, we recommend the following tables:
Tables
event proc_event job
■ The connection to the database is lost, and after the configured number of
reconnect attempts, the database remains unconnected.
If one Event Server is lost, Unicenter AutoSys JM automatically rolls over to the
functioning server and continues to run in Single Server mode. If there was a
rollover and a switch to Single Server mode, the Administrator Event Server
screen indicates this in two ways: the Status field shows which Event Server is
DOWN, and the Database Rollover Has Occurred check box is checked.
Unicenter AutoSys JM makes these changes so that you and the utilities trying to
access the database will know that it is now running in Single Server mode, and
so that client processes will not try to write to the down Event Server.
When an Event Server is down, do not, under any circumstances, simply bring
that Event Server back on-line and run in Dual Server mode. After you recover
the crashed server, you can reconfigure Unicenter AutoSys JM to run with Dual
Event Servers. Before you can start with both Event Servers however, you must
make sure that they are synchronized.
Note: The Event Processor marks both Event Servers as being in Dual Server
mode. Unicenter AutoSys JM client processes and commands check the flags
in both Event Servers for consistency, therefore, you must start the Event
Processor before running any other commands.
Maintaining 14–27
Event Server Rollover Recovery
The autobcp.NT Perl script identifies one database as the “source” and the other
database as the “destination” for the synchronization process. It deletes all of the
data in the destination database and replaces it with the data in the source
database. Therefore, if you want to save the data in the destination database,
archive it before you run this Perl script.
■ Ensure that you have enough disk space for the temporary file created by
autobcp.NT. The temporary file will be the size of your database, and the
standard sizes for AutoSys databases are 64 MB (Sybase and Microsoft SQL
Server) and 100 MB (Oracle). If you have made your database larger, you
will need more disk space for the temporary file. The script deletes this
temporary file after the synchronization is complete.
■ Ensure that no clients (for example, Event Processor, GUI) are running.
Note: When you stop the Event Processor, the jobs that are running will run to
completion. You can run the autobcp.NT script while jobs are running on remote
machines. In the worst case scenario, there might be events on the source Event
Server that are not stored on the destination Event Server. This is not a problem,
however, because the Event Processor always reads from both Event Servers. If it
finds an event on one server that is not on the other, it copies that event to the
database that is missing it. If one Event Server missed an event due to recovery
or network problems, this feature also dynamically synchronizes both servers.
where:
source_server Specifies the name of the source Sybase or Microsoft SQL Server (for example,
AUTOSYSDB).
For Sybase this is defined in the SQL.INI file. For Microsoft SQL Server, see the
Microsoft SQL Enterprise Manager.
source_db Specifies the source Sybase or Microsoft SQL Server database (for example,
autosys).
destination_server Specifies the destination Sybase or Microsoft SQL Server database (for example,
AUTOSYSDB2).
autosys_password Specifies the password for the “autosys” user (by default, the “autosys” user
password is “autosys”).
dump_file Specifies the temporary file used in the transfer of data from one database to
the other.
Maintaining 14–29
Event Server Rollover Recovery
oracle_path Specifies the path to the Oracle import and export executables set in
ORACLE_HOME.
MSSQL_path Specifies the local path to the Microsoft SQL Server directory. autobcp.NT must
be able to locate the Microsoft binn\BCP.EXE program.
If you enter the information correctly, the script runs. After the script starts, it
checks for the existence of both databases before it begins moving the data.
If the script completes successfully, you see descriptive messages on your screen.
When it completes, continue with the steps described in the section Returning to
Dual Server Mode After a Rollover, in this chapter. If the script is not successful,
see the section Handling Errors, in this chapter.
If you enter any information incorrectly, the script prompts you with questions
and requests confirmation, as described in the following database-specific
sections.
If you are synchronizing two Sybase databases, you are prompted to answer the
following questions, and then the script runs:
AUTOBCP.NT: Source server [SourceServer]? > source_server
AUTOBCP.NT: Source database [autosys]? > autosys
AUTOBCP.NT: Destination server [DestinationServer]? > destination_server
AUTOBCP.NT: Destination database [autosys]? autosys
AUTOBCP.NT: Autosys password [password]? > autosys_password
AUTOBCP.NT: Dump file name [dump.fil]? > dump.file
AUTOBCP.NT: Moving data from source_server:autosys to
destination_server:autosys
AUTOBCP.NT: Are you sure? ([y]|n)> y
...
autobcp: complete
If the script runs successfully, you see messages on your screen. When it
completes, continue with the steps described in the section Returning to Dual
Server Mode After a Rollover, in this chapter. If the script is not successful, see
the section Handling Errors, in this chapter.
If you are synchronizing two Oracle databases, you are prompted to answer the
following questions, and then the script runs:
autobcp: Source instance [SourceInst]? > source_path
autobcp: Destination instance [DestinationInst]? > destination_path
autobcp: Autosys password [password]? > autosys_password
autobcp: Dump file name [dump.fil]? > dump.file
autobcp: Path for Oracle (ie. ORACLE_HOME) [c:\orant]? > c:\path
autobcp: Moving data from source_path to destination_path
autobcp: Are you sure? ([y]|n)> y
...
autobcp: complete
If the script runs successfully, you see messages on your screen. When it
completes, continue with the steps described in the section Returning to Dual
Server Mode After a Rollover, in this chapter. If the script is not successful, see
the section Handling Errors, in this chapter.
If you are synchronizing two Microsoft SQL Server databases, you are prompted
to answer the following questions, and then the script runs:
AUTOBCP.NT: Source server [SourceServer]? >source_server
AUTOBCP.NT: Source database [autosys]? > autosys
AUTOBCP.NT: Destination server [DestinationServer]? > destination_server
AUTOBCP.NT: Destination database [autosys]? > autosys
AUTOBCP.NT: Autosys password [password]? > autosys_password
AUTOBCP.NT: Dump file name [dump.fil]? > dump.file
AUTOBCP.NT: Path for MicroSoft SQL [c:\mssql]? > c:\path
AUTOBCP.NT: Moving data from source_server:autosys to
destination_server:autosys
AUTOBCP.NT: Are you sure? ([y]|n)> y
...
autobcp: complete
If the script runs successfully, you see messages on your screen. When it
completes, continue with the steps described in the section Returning to Dual
Server Mode After a Rollover, in this chapter. If the script is not successful, see
the section Handling Errors, in this chapter.
Maintaining 14–31
Event Server Rollover Recovery
Handling Errors
If the autobcp.NT process detects an error, it exits and displays an error message.
If this happens, check the following:
■ Did you correctly specify the source and the destination databases in the Perl
script command?
■ Do you have the correct Event Server ports set for the databases? For Sybase,
this setting is in the SQL.INI file, and for Oracle it is in the TNSNAMES.ORA
file. For Microsoft SQL Server, the port is specified at installation time with
the Microsoft SQL Server Setup program.
■ Are both Event Servers started? To verify this, look at the NT Control Panel
Services dialog. For bundled Sybase, verify that the status of
SYBSQL_LOCAL is “started.” If you run unbundled Sybase, the service has
a different name. If you run an Oracle database, verify the status of the
following services (substitute your Oracle SID for the asterisk):
■ Install the Sybase server and the Event Processor on a dedicated machine or
machines. Do not share machine resources with other processes.
■ For unbundled Sybase only, put your data on a raw partition. This improves
access time.
WARNING! Only the database administrator should put your data on a raw
partition.
■ Tune the shared pool size. Make changes to the shared pool size by altering
the init.ora value of SHARED_POOL_SIZE. To determine if you need to
increase the shared pool size, enter the following query in SQL*Plus:
select sum(pins) “Executions”,
sum(reloads) “Cache Misses while Executing”,
((sum(reloads)/sum(pins))*100) “Ratio of Misses”
from v$librarycache;
The Ratio of Misses should be less than 1%. (The Ratio of Misses number is
displayed as a percentage.) If it is higher than 1%, you should increase the value
of SHARED_POOL_SIZE incrementally until the value of Executions approaches
zero.
■ Tune the buffer cache. Make changes to the buffer cache by altering the
init.ora value of DB_BLOCK_BUFFERS.
Maintaining 14–33
Improving Database Performance
To determine if you need to allocate more memory, enter the following query as
the “sys” user in SQL*Plus:
select name, value
from v$sysstat
where name in
(‘db block gets’, ‘consistent gets’, ‘physical reads’);
Monitor the statistics from the query while running. Calculate the hit ratio for
the buffer cache by using this formula:
hit ratio = 1 - (physical reads/(db block gets + consistent gets))
The closer the hit ratio approaches 1.00, the better your system performs. If you
have free memory and the hit ratio is below .95, increase the value of
DB_BLOCK_BUFFERS. Make sure you have at least five percent free memory.
■ Maximize disk I/O by separating the data files. If you have disk contention,
place the autodata and autoindexes data files on separate disk drives, and if
possible, different drive controllers.
■ Tune the sort area. A sort area in memory sorts records before they are
written to disk. Increasing the size of the sort area by increasing the init.ora
value of SORT_AREA_SIZE improves sort efficiency.
If disk sorts are greater than one percent of memory sorts, then increase the
value of SORT_AREA_SIZE.
Note: The following sections are specifically for bundled Sybase users. If you are
using an existing Sybase, Oracle, or Microsoft SQL Server database, consult your
database administrator for details on starting, stopping, and configuring your
database.
Sybase Architecture
The client communicates with the server using a C library known as Open
Client, or the DB Library. This library handles the communications between the
client application and the Sybase SQL Server as well as sending requests and
parsing results for the use of the application.
This means that all AutoSys commands and processes, including the Event
Processor, the Remote Agent, and monitors, are DB Library applications that
connect to the databases. Because all commands are merely Sybase clients, you
can execute those commands from any machine that has access to the Event
Server and is a licensed client.
Sybase Environment
If you are using a Sybase, the following environment variables are used:
DSQUERY
Defines the name of the Sybase dataserver.
Maintaining 14–35
Maintaining Bundled Sybase SQL Servers
SYBASE
Specifies the complete path to the Sybase software directory.
The Sybase software directory contains the Sybase configuration file, which on
UNIX is the interfaces file and on Windows is the SQL.INI file. Unicenter
AutoSys JM uses the Sybase configuration file to look up database information. It
is the means by which the network is navigated to find the Sybase dataserver.
Database Users
When using the bundled Sybase version, there are two users defined by default
in the database: the system administrator and the user. Each of these users has a
default user name and password.
For information on changing the “sa” password, see the section, Changing the
System Administrator Password, in this guide. For more information on
changing the “autosys” password, see the section autosys_secure in the chapter
“Commands,” in the Unicenter AutoSys Job Management for Windows and
UNIX Reference Guide.
You can change the system administrator password from its initial value of
“sysadmin” to a new value.
Note: If you are not using the default settings, the name of your dataserver is
substituted for AUTOSYSDB.
Enter the following command sequence (replacing newPassword with the new
password):
xql>>[AUTOSYSDB][master] 1> sp_password
xql>>[AUTOSYSDB][master] 2> sysadmin, newPassword;
WARNING! After you change the “sa” password, the old password is
unrecoverable. Make sure that the new password is recorded; otherwise, the
entire database will have to be re-installed.
Starting Sybase
When you reboot the machine after installation, the bundled Sybase database is
started. It is a service that is started automatically with subsequent startups.
To verify that the database is up and accessible, enter the following command at
the Instance Command Prompt (assuming “autosys” is the Unicenter AutoSys
JM user, and “autosys” is the user password):
xql -Uautosys -Pautosys -c "select getdate()"
If this command returns the date, the database is running. If the database is not
running, you can start it from the Control Panel Services dialog on the machine
where the database is installed. If you are using bundled Sybase, the name of the
Service is SYBSQL_LOCAL. If you are using a pre-existing dataserver at your
site, it has a different name, and your database administrator can start it.
Maintaining 14–37
Maintaining Bundled Sybase SQL Servers
Stopping Sybase
If you perform a Windows Shutdown, the Sybase service is shut down correctly
as part of that process, and it is restarted automatically with the Restart process.
If you need to stop the Sybase service, you must stop the Event Processor first.
To stop Sybase
1. If the Event Processor is running, stop it. To do this, log on as the Exec
Superuser and enter the following command at the Instance Command
Prompt:
sendevent -E STOP_DEMON
■ If you are not sure whether the Event Processor is running, do not sent
the STOP_DEMON event. If the Event Processor is not running and you
send the event, it will be queued and sent when the Event Processor is
started again. Before you attempt to stop the Event Processor, ensure
that it is running by using the chk_auto_up command, or by checking its
status on the Unicenter AutoSys Administrator Services screen.
This command allows any database processes to complete, and then shuts the
database down. If you must shut down the database immediately, use this
command:
xql -Usa -Psa_password -c "shutdown with no_wait"
Note: In addition, you can stop the Sybase service from the Control Panel
Services dialog. If you are using bundled Sybase, the name of the Service is
SYBSQL_LOCAL. If you are using a pre-existing dataserver at your site, it has a
different name, and your database administrator can stop it.
For information on changing the “sa” password, see the section Changing the
System Administrator Password, in this guide.
Accessing Sybase
Unicenter AutoSys JM comes with a utility named xql, which resides in the
%AUTOSYS%\bin directory. Use this utility for interactive database queries. For
a detailed description of how to use xql, see its entry in the chapter
“Commands,” in the Unicenter AutoSys Job Management for Windows and
UNIX Reference Guide.
Note: The xql utility functions only with the Sybase database. If you use an
Oracle database, use the SQL*Plus command language interface. If you use a
Microsoft SQL Server, use the ISQL/w graphical query interface.
Maintaining 14–39
Maintaining Bundled Sybase SQL Servers
These are reasons you might want to identify the processes that are connected to
the database:
■ Before you change the “autosys” user password or shut down Unicenter
AutoSys JM , you should ensure that no processes are connected to the
database. You can identify the active processes, then shut them down.
■ Many GUI processes connected to the database can slow it down. You can
see how many and what type of processes are connected to the database, and
then ask users to shut down the GUIs they are not currently using.
To see what processes are connected to the database and their status
In the example list of processes, xql is the process running your query to display
the processes, and event_demon is the Event Processor. The processes without
names are internal Sybase processes, which you can ignore.
The following are the most common process you will see.
auto_remote jobscape
Jobs are scheduled and run based on the date and time for the machine on which
the database is running. If your jobs do not run when you expect them to, you
can check the database clock.
You must back up the database periodically, so that you can recover it in the
event of catastrophic system or media failure. You should decide on a routine for
backing up the database so that you will have no trouble recovering a lost
database, using the backup database dump.
This section describes how to dump the database to a file, which you can then
back up to tape along with the rest of your production system. Before dumping a
database to a file, you must configure a backup server by using the Sybase
Configure Sybase SQL Server dialog, and then you must identify a dump file to
the database by running the Sybase system sp_addumpdevice procedure.
The sp_addumpdevice procedure requires a logical name for the dump file (the
dump and load database commands use this name) as well as a physical name
(the file’s full pathname).
Maintaining 14–41
Maintaining Bundled Sybase SQL Servers
This command runs the Sybase Configure Sybase SQL Server dialog.
2. In the dialog, select Backup Server under Products, and click Configure New
Backup Server under Backup Server. This action opens the Backup Server
Name dialog.
3. In the Backup Server Name dialog, enter the Name of the Backup Server,
which should be AUTOSYSDB_BS (if you are not using the default Event
Server name, then use DATABASENAME_BS). Then, click Continue.
4. In the Configure Backup Server dialog, click Network Addresses. This action
opens the Network Connections dialog.
5. In the Network Connections dialog, click Add. This action opens the Enter
Connection dialog.
Note: The port number must be one not already in use at your site; do not
use your Event Server port number for this value.
7. In the Network Connection dialog, check the information that you just
entered, and if it is correct, click OK.
8. In the Configure Backup Server dialog, click Continue. At this time, the
process to create the backup server runs. When it completes, the New
Backup Server Complete prompt appears, and you can click Continue.
10. To ensure that the backup server service was created and is running, check
the Control Panel Services dialog. The backup service that you named
should be “Started.” That is, if you supplied the AUTOSYSDB_BS name as
the Default Name of Backup Server, the Sybase
BCKServer_AUTOSYSDB_BS service should appear as a Service with a
Status of “Started.”
After this process is done, you can back up the database to a file anytime.
2. To define the dump device to Sybase, enter the following at the xql prompt:
xql>>[AUTOSYSDB][master] 1> sp_addumpdevice 'disk', autodump,
xql>>[AUTOSYSDB][master] 2> 'C:\tmp\autodump', 2;
Note: For this example to work, the C:\tmp directory must already exist on
the database machine.
When the process completes, check the C:\tmp directory for the new autodump
file. Your system administrator can now archive the autodump file, and you can
use the file for restoring the database, when necessary.
WARNING! You should drop the database and re-create it only in extreme
situations. Before using this process to recover a damaged database, investigate
all other options.
Maintaining 14–43
Maintaining Bundled Sybase SQL Servers
Log on as the Exec Superuser and issue the following command at an Instance
Command Prompt:
sendevent -E STOP_DEMON
You can drop the damaged database by using the drop database command.
Before you drop the damaged database, however, you should ensure that you
have a database dump file to use to restore the database.
If the database is so damaged that drop database does not work, contact your
Technical Support representative.
After dropping the damaged database, you must recreate a new database. This
new database is used to load the database dump file (for example, the
autodump file) that you are recovering. Use the create database command to
create the new database.
1. To create the new database, at the xql prompt, enter the following:
xql>>[AUTOSYSDB][master] 1> create database
xql>>[AUTOSYSDB][master] 2> autosys on default
xql>>[AUTOSYSDB][master] 3> = 50;
2. To change the owner of the new database to “autosys,” enter the following at
the xql prompt:
xql>>[AUTOSYSDB][master] 1> use autosys;
xql>>[AUTOSYSDB][autosys] 1> sp_changedbowner
xql>>[AUTOSYSDB][autosys] 2> autosys;
You are now ready to execute the load database command to restore the
database you originally dumped to autodump.
Note: For Sybase System 11, you must put the database online. Previous
versions of Sybase did not require this.
To exit xql
Then, you can restart the Event Processor using the Unicenter AutoSys
Administrator Services screen. When you complete this process, Unicenter
AutoSys JM will be in the state it was in when you dumped the database to the
backup file.
Maintaining 14–45
Chapter
Administrator
15
This chapter describes the Unicenter AutoSys Administrator and how to use its
various screens to configure Unicenter AutoSys JM instances. In addition, this
chapter describes how to use the Unicenter AutoSys Administrator to implement
several advanced configurations, including cross-instance job dependencies,
dual-event servers, and shadow event processors.
The Administrator has the following screens, which contain the associated
configuration parameters:
■ Instance
■ Remote Agent
■ Event Server
■ Event Processor
■ Notifications
Administrator 15–1
About the Administrator
■ System Information
■ Sounds
■ Security
■ Services
■ Instance screen
Which allows you to specify the computer and instance to which the settings
belong.
■ Sounds screen
Which allows you specify the sounds associated with certain alarms and
events.
■ Security screen
Which allows you to set up your own trusted users for remote
authentication.
■ Services screen
Which allows you to view the status of remote agent and event processor
services (but you cannot change the status without the correct permissions).
WARNING! The event processor reads the settings in the Unicenter AutoSys
Administrator on startup only. Therefore, if you make a change to an
Administrator setting that you want implemented immediately, you must stop
the event processor using the sendevent -E STOP_DEMON command, and then
restart it using the Administrator Services screen (which is described in the topic
Using the Services Screen).
Note: Many of the configuration parameters that you set on Windows using the
Unicenter AutoSys Administrator have a corresponding configuration parameter
on UNIX. However, on UNIX you set these parameters in the
$AUTOUSER/config.$AUTOSERV configuration file. When appropriate, this
chapter provides both the Administrator field name and its UNIX configuration
file parameter equivalent. For information on the configuration file on UNIX
platforms, see the chapter “Configuring ,” in the Unicenter AutoSys Job
Management for UNIX User Guide.
For information while using the Unicenter AutoSys Administrator, see the
Unicenter AutoSys JM Help. Open the Unicenter AutoSys JM Help from the
Unicenter AutoSys JM Help icon in the program group, or open help from the
Administrator. To open help for the Administrator, press F1 while the
Administrator has focus. To open help on a specific Administrator screen, press
Shift+F1 while that screen has focus.
Once you have started the Unicenter AutoSys Administrator, you must select an
instance before you can use the various Administrator screens.
The Unicenter AutoSys Administrator has a basic menu bar and toolbar that is
available with all Administrator screens. The toolbar buttons are menu item
accelerators.
Event Processor
Instance Event Server System Informat ion
Past e Security
Cut
Export
Copy S ervices
Sounds
Abo ut Administrator Remote Agent Notif ication
Administrator 15–3
Starting the Administrator
The Administrator menu bar contains the File, Edit, View, AutoSys, and Help
menus.
Export
Exports the configuration settings to a text file.
Export As
Writes the configuration settings to a text file that you specify.
Exit
Exits the AutoSys Administrator.
Undo
Undoes the last operation.
Cut
Removes the selected text and places it on the clipboard.
Copy
Copies the selected text to the clipboard.
Paste
Pastes the contents of the clipboard at the location of the cursor.
Toolbar
Toggles to show or hide the toolbar.
Status Bar
Toggles to show or hide the status bar.
Instance
Displays the Instance screen, which you can use to select the computer and
installed instance. Once you select a computer and instance, you can view
and modify instance settings using the other Administrator screens.
Remote Agent
Displays the Remote Agent screen, which you can use to set the Remote
Agent port number and its list of authorized event processors (used in
remote authentication).
Event Server
Displays the Event Server screen, which you can use to specify event servers,
either for single-server or dual-server mode.
Notifications
Displays the Notifications screen, which you can use to specify user-defined
alarm callbacks for certain types of system alarms.
Event Processor
Displays the Event Processor screen, which you can use to define the event
processor behavior, as well as the information needed to run a shadow event
processor.
System
Displays the System Information screen, which you can use to view the
settings for certain variables. This information is helpful when
troubleshooting. You can modify the settings on this screen, but you should
do so with caution.
Sounds
Displays the Sounds screen, which you can use to view and set the sounds
that are associated with certain events. You can also use this screen to enable
and disable sound.
Security
Displays the Security screen, which you can use to set the Trusted Hosts and
Trusted Users for remote authentication.
Services
Displays the Services screen, which you can use to view and alter the status
of Remote Agent and Event Processor services.
Administrator 15–5
Instances
Help Topics
Displays the Help Index and Find utility.
About AutoSysAdmin
Displays release information on Unicenter AutoSys Administrator.
Instances
When you start the Unicenter AutoSys Administrator, the Instance screen is
displayed (see the figure in the section, Administrator Instance Screen in this
chapter). This screen lets you select a computer and instance, which you can
view or modify using the other screens of the Administrator.
■ An event processor.
Events are associated with a specific instance. They have a unique ID, called an
eoid, which is prefixed by the three-letter instance ID that is specified by the
%AUTOSERV% variable. This naming convention ensures an event’s uniqueness
and traceability across multiple instances.
Note: You can set the instance ID only during the installation process.
When you start the Unicenter AutoSys Administrator, the Instance screen is
displayed. To view the various Unicenter AutoSys Administrator screens, you
must first select a computer and installed instance on which to operate.
The Instance screen allows you to select a computer and AutoSys instance, so
you can view or modify that instance’s configuration settings.
Computer
The Computer setting specifies the host name of the computer on which
Unicenter AutoSys JM is installed and to which you are connected. By default,
this field contains the name of the machine that you are logged on to, but you
can connect to a remote machine to administer the instance information.
Enter the host name in the Computer field and click Connect.
Administrator 15–7
Instances
Instance
To select an instance:
3. Click OK.
After you select an instance, the menu items and their corresponding toolbar
buttons are enabled, which allows you to move from screen to screen.
Date Format
The date format is where you can specify the format for the date in your area.
The default is MM/DD/YYYY.
Remote Agents
The remote agent is a Windows service running on a remote machine, and the
event processor directs the remote agent to perform specific tasks. When the
event processor starts a job, the remote agent logs on to the machine, starts the
command specified for a given job, sends running and completion information
about a task as events to the database, and then exits. If the remote agent is
unable to transfer the information, it waits and tries again until it successfully
communicates with the database.
The Administrator Remote Agent screen allows you to set the remote agent port
number, local logging directory, and event processors that have permission to
start processes on this remote agent (when remote authentication is turned on).
or:
Note: To modify the settings on this screen, you must have Windows
Administrators group privileges.
Administrator 15–9
Remote Agents
Note: This section lists and describes the configuration parameters located on
the Remote Agent screen.
The remote agent TCP/IP port number specifies the port number for the remote
agent, and it should be the same number for all remote agents associated with an
instance.
The event processor communicates to the remote agent by way of this TCP/IP
socket connection. The default number is 5280. You set the TCP/IP Port number
at installation time, but you can change this number using the Unicenter
AutoSys Administrator.
This number must be different from the event server port number, and all
remote agents for an instance must use the same port number. The internet
service on the client machine uses the port number to point to the name of the
service in the following file:
%SYSTEMROOT%\system32\drivers\etc\SERVICES
On Windows, you must supply unique remote agent port numbers for each
instance that you install. That is, if you are running an ACE and a PRD instance,
each instance must have a unique remote agent port number.
For information on the event server port number, see Defining Event Server
Configuration Parameters, in this chapter.
Local Agent Logging The Local Agent Logging Directory field specifies the local directory, on the
Directory remote agent machine, in which Unicenter AutoSys JM should write that
remote agent log files for jobs. This setting overrides the enterprise-wide
logging directory.
For information on the Enterprise Wide Logging Directory, see its description in
“Enterprise Wide Logging Directory,” in this guide.
Authorized Event The Authorized Event Processor Host Names list specifies the host names of
Processor Host Names the event processors from which this remote agent can accept job-processing
requests.
Unicenter AutoSys JM uses this list only if remote authentication is turned on,
which you can do using the autosys_secure command. If you turn on the event
processor remote authentication, the remote agent verifies that the requesting
event processor is on this list before it will process job requests.
Type the event processor machine host name, and click the Add EP button.
Select the event processor, and when it appears in the top field, click the
Remove EP button.
Administrator 15–11
Event Servers
Event Servers
The event server is the database that contains all of the events and job definitions
that are used by the event processor. The event server is a Windows process and
its associated data space (or raw disk storage), which can include multiple
databases. As a safeguard, you can configure Unicenter AutoSys JM to run with
two event servers, in dual-server mode.
The Event Server Screen (see the figure in Administrator Event Server Screen in
this chapter) allows you to view and modify database-specific configuration
parameters. Using this screen, you can enable dual-server mode, by defining and
enabling the second event server. In addition, you can use this screen to
determine if there has been a database rollover, and you can use it to restart the
down event server and reenable dual-server mode.
Dual-Event Servers
Unicenter AutoSys JM can run with two event servers. Unicenter AutoSys JM
keeps these two servers synchronized, and this configuration provides complete
recovery when a disaster occurs on one of the two servers. These two event
servers contain identical information, including job definitions and events;
Unicenter AutoSys JM reads and writes to both servers simultaneously.
When processing events, the event processor reads from both event servers. If it
detects an event on one server and not the other, it will copy the missing event to
the other server. In this way, a temporary problem in getting events to one of the
servers will not interrupt processing. In addition, the remote agent sends events
and writes to both event servers.
Note: To avoid a single point of failure, the two event servers should reside on
two different data servers, running on different machines.
For more information about using dual-event servers, see Dual-Event Servers in
the chapter “Introduction,” in the Unicenter AutoSys Job Management for
Windows Installation Guide. For information on installing and configuring dual-
event servers, see Installing Dual-event Servers in the chapter “Advanced
Configurations,” in the Unicenter AutoSys Job Management for Windows
Installation Guide.
Using the Event Server screen, you can view and modify the database-specific
settings, and you can configure Unicenter AutoSys JM for dual-event servers. In
addition, you can use this screen to determine if there has been a database
rollover, and to enable the down event server, and dual-server mode.
or:
The following illustration shows the Event Server screen for Sybase and
Microsoft SQL Server installations.
Note: To modify the settings on this screen, you must have Windows
Administrators group privileges.
Administrator 15–13
Event Servers
This section lists and describes configuration parameters located on the Event
Server screen.
The “Event Server A” area defines a server for single-server mode. You can also
define a second event server (using the “Event Server B” area) and enable dual-
server mode.
The largest single reason for “things not working” is that Unicenter AutoSys JM
cannot determine which RDBMS to connect to or where to find the executables
or configuration files. Therefore, it is very important to make sure that all of the
database information is set up correctly on every machine.
WARNING! When you enter the event server information, it must be exactly as
it is defined for the database, including case.
Note: You can enable and define either Event Server A or Event Server B to be in
single-server mode.
The Name parameter specifies a logical name used to locate the database. When
performing database queries, Unicenter AutoSys JM uses this name to locate the
event servers. For Sybase, the logical names are stored in the SQL.INI Sybase
interface file. For Microsoft SQL Server, the logical name is the same as the host
machine name, and you can check the database settings using the Microsoft SQL
Enterprise Manager.
For dual-server mode, the event servers should have different values in the
Name field.
Enable Use the Enable button to enable the associated event server, either when
enabling a down server or when implementing dual-server mode.
Disable Use the Disable button to stop an event server and return to single server mode.
If you click this button, it sets the associated event server status to DOWN. If
you disable a server, you must stop and restart the event processor, so that it is
restarted in single server mode.
Host The Host parameter specifies the name of the machine on which the associated
event server runs. For dual server mode, we recommend that the two event
servers reside on two different databases, running on different host machines,
to avoid a single point of failure.
Port The Port parameter specifies the port number for the TCP/IP socket connection
between the event server and the remote agent. This is the port number on
which the event server “listens” when waiting for requests. Note that this
number should be different than the value in the TCP/IP Port field in the
Remote Agent screen.
For information on the remote agent port number, see the topic “Defining
Remote Agent Configuration Parameters,” in this chapter.
The Database parameter specifies the particular database for the associated event
server instance. Typically, this name is autosys, and for dual server mode, this
can be the same value for both event servers.
For Oracle installations, this field is disabled.
Status The Status field indicates whether the associated database is UP or DOWN.
For information on dual server mode and how to re-enable a DOWN event
server, see Event Server Rollover Recovery in the chapter “Maintaining ,” in this
guide.
Database Provider Specifies the provider (manufacturer) of the Relational Database Manager
System (RDBMS) that is being used for the AutoSys database. This is a read-
only field; it is for informational purposes only.
Administrator 15–15
Event Servers
Database Rollover The Database Rollover Has Occurred check box is checked when there has been
Has Occurred a rollover from dual server mode to single server mode.
For information on how to re-enable dual server mode, see Event Server Rollover
Recovery in the chapter “Maintaining,” in this guide.
The Reconnect parameter specifies the number of times that an event processor
should attempt to connect to the event server before shutting down, or before
rolling over to single server mode.
In single server mode, the DB Event Reconnect value is a number, with a default
setting of 50. This setting specifies that the event processor should attempt to
connect to the event server 50 times before shutting down. That is, the event
processor attempts to reconnect 50 times both on startup and when there is a
connection problem.
In dual server mode, DB Event Reconnect contains two values, such as the
default setting of 50, 5 (which is set only if you initially install dual severs). If
you add a second server after completing the installation process, you must set
the DB Event Reconnect value appropriately.
The 50, 5 values specifies that the event processor should attempt to connect to
the event servers 5 times before rolling over to single server mode, and using
only the remaining event server. Once Unicenter AutoSys JM is in single server
mode, the event processor will attempt to reconnect to the remaining event
server 50 times before shutting down.
Upon startup, the event processor attempts to connect to the event servers 5
times. If the event processor is unable to connect to both databases, it assumes
there is a connection or configuration problem, and will gracefully shutdown.
The Database Wait Time parameter indicates the amount of time the event
processor waits before it breaks a connection with an event server that is in an
unknown state. That is, the event processor maintains and checks its connections
with the databases, and if an event server is in an unknown state, the event
processor breaks the connection after the indicated time.
Typically, the database should never time out. However, if it does, Unicenter
AutoSys JM will attempt to reconnect to the database a specified number of
times. If you see the database connections timing out at a frequent rate, it
probably indicates some kind of machine or event server contention problem.
Note: If you set this value to 0, it means that no time-out value is to be applied.
In other words, there are infinite connections. Because it can cause the event
processor to hang, using the value of 0 is not recommended.
Specifies the number of times that the event server should try to reconnect to the
alarm server (if installed).
Administrator 15–17
Event Processors
Event Processors
The event processor interprets and processes all the events it reads from the
database. The event processor is the program, running as a Windows service,
which actually controls Unicenter AutoSys JM—it schedules and starts jobs.
The event processor is a Windows service you must start that continually scans
the database for events to be processed. When it finds one, it checks whether the
event satisfies the starting conditions for any job in the database. Based on this
information, the event processor first determines what actions are to be taken,
then instructs the appropriate remote agent process to perform the actions. These
actions include starting or stopping jobs, checking for resources, monitoring
existing jobs, and initiating corrective procedures.
The Event Processor screen (see the following illustration) contains the event
processor-specific configuration parameters, including the parameters necessary
for setting up a shadow event processor and the values used in calculating the
wait time between job restart attempts
or:
Note: To modify the settings on this screen, you must have Windows
Administrators group privileges.
Administrator 15–19
Event Processors
This section lists and describes the configuration parameters located on the
Event Processor screen.
WARNING! The event processor reads the settings in the Unicenter AutoSys
Administrator on startup only. Therefore, if you make a change that you want
implemented immediately, you must stop the event processor using the
sendevent -E STOP_DEMON command, then restart it using the Administrator
Services screen (as described in the topic Using the Services Screen in this
chapter).
EP Count The EP Count parameter specifies the number of concurrent Event Processors
the user is able to run at one time (default is set to 1.) Each Event Processor is
able to retrieve an event out of the database and process it independently. The
maximum number of Event Processors the can run at one time is 256.
Note: The number of Event Processors you elect should be equal to the number
of processors available on the hardware Unicenter AutoSys JM is installed on.
For Example: Running a dual CPU machine would give you an EP Count of 2.
Shadow Machine The Shadow Machine parameter specifies the host name of the machine on
which a shadow event processor runs. If the primary event processor fails, the
shadow event processor takes over. The shadow event processor is optional. If
used, it must be run on a different machine than the one on which the event
processor is running. However, both the shadow machine and the primary
event processor must be installed on the same type of machine, either Windows
or UNIX.
You must install an event processor and a remote agent on the shadow machine.
Note: Both the primary and the shadow event processor machines require valid
server licenses.
When running a shadow event processor, the third machine is used to resolve
possible contentions between the two event processors, and to ensure that only
one of the processors is running at any given time. Before the shadow event
processor takes over, or if the primary event processor cannot signal the shadow
event processor, the processor that is taking over connects to this third machine
and creates a “dibs” file that will lock the other processor out.
Note: The third machine must have a remote agent installed on it, and it must
have a valid client license. In addition, the third machine must be defined by the
same AutoSys instance and installed on the same type of machine as the primary
and shadow event processors are installed on, either Windows or UNIX.
Administrator 15–21
Event Processors
If you are using the Enterprise Wide Logging Directory, it must exist and be
“writable” on every machine running a remote agent. However, you can
override this setting at the remote agent level by setting the Local Agent Logging
Directory on the Remote Agent screen. If specified, the remote agent writes log
files to its Local Agent Logging Directory instead.
In a cross-platform environment where a UNIX event processor starts a
Windows remote agent (or vice versa), the path to the log files directory is
translated into the format expected by the recipient platform. A UNIX remote
agent removes the drive letter, if present, and replace \ characters with /
characters. For example, C:\tmp becomes /tmp. A Windows remote agent will
prepend the system drive letter and colon, if no drive letter is present, and
replace all / characters with \ characters. For example, /tmp becomes C:\tmp.
For information on the Local Logging Directory, see the topic “Defining Remote
Agent Configuration Parameters,” in this chapter.
This command is run once a day. You can specify the time of day for this
maintenance cycle in the Database Maintenance Time field of the Event
Processor screen.
For more information about the DBMaint.bat batch file, see the chapter
“Maintaining,” in this guide.
You should schedule the maintenance command to run during a time of minimal
activity, and we highly recommend that you configure your system to backup
the database during this maintenance cycle.
EP Heartbeat Interval The EP Heartbeat Interval parameter specifies the time interval (in seconds) the
Primary Event Processor (EP [1]) should use when checking the status of the
other Event Processors (default is set to 10.) If the Primary Event Processor
detects one of the other Event Processors are down, it will attempt to restart it.
Note: If you are not running multiple Event Processors, you do not need to set
this parameter.
Shadow Ping Delay The Shadow Ping Delay parameter specifies how often the Shadow machine
should ping the Primary Event Server Machine (in seconds.)
Note: The default setting of the Shadow Ping Delay is set to 60 seconds.
DB Poll Interval The DB poll Interval parameter specifies the time interval (in seconds) the
Event Processor should retrieve events from the database.
Administrator 15–23
Event Processors
Maximum Log Size The Maximum Log Size parameter specifies the maximum size of the event
processor log file. The event processor reads this setting on startup and checks
the file size. If the file is the indicated maximum size, the event processor
deletes it.
When you change this number the new size does not affect until you start the
event processor again. The event processor will read the new number only on
the subsequent startup processes.
Note: If you have an autosyslog process running on the file, start the event
processor, and the file is its maximum size, the event processor will not start
because it cannot delete the log file (because it has a lock on it).
If the amount of available disk space falls below that specified by the File System
Threshold setting, the event processor issues a warning in the event processor
log file similar to the following:
WARNING: The disk partition containing the EP log file is too full!
WARNING: EP will shutdown if partition has less than 8192 bytes available!
If the amount of disk space falls below 8 KB, the event processor issues an
EP_SHUTDOWN alarm and shuts down, issuing messages similar to the
following:
ERROR: No disk space left to write Event Processor log
EVENT: STOP_DEMON
The Event STOP_DEMON has just been received. We are going down!
The default File System Threshold setting is 32 KB. Valid settings must be less
than 10 MB and greater than 8192 bytes.
If you set the File System Threshold setting on a remote agent machine, the
setting applies to the space available for the remote agent log file. The default
File System Threshold setting on remote agent machines is -1. This -1 setting
indicates that the remote agent should use the size set for the event processor (set
in the Unicenter AutoSys Administrator for the event processor machine).
You can change the File System Threshold setting on any remote agent machine
to override the event processor setting. To do this, connect to the appropriate
instance and machine, move to the event processor screen, and change the
setting to a number greater than -1. You can set this to a different value on each
remote agent machine. Valid settings must be less than 10 MB and greater than
8192 bytes.
If the amount of available disk space falls below that specified by the File System
Threshold setting, the remote agent writes dots to the remote agent log file. If the
available space drops below 8 KB, the remote agent issues a warning and stops
writing to the remote agent log file, but the remote agent service keeps running.
The Event Transfer Wait Time parameter specifies the time-out delay for
transferring events while in dual-server mode. That is, when in dual-server
mode, an event that is missing from one event server is copied over to the second
server after this time-out delay.
The Error Time Interval parameter specifies the time interval that is used with
the Number of Errors setting (see following) to determine if Unicenter AutoSys
JM should shut down the event processor. If the specified number of errors
occurs within the error time interval, Unicenter AutoSys JM shuts down the
event processor. This is implemented as a safety measure.
By default, the Error Time Interval is 60 seconds, and the Number of Errors is 20.
These settings specify to shut the processor down if more than 20 errors occur
within 60 seconds.
These two settings together guard against cascading event processor errors,
which are caused by the event processor automatically reissuing failed
directives. The primary reason for setting these parameters, and shutting the
event processor down, is to avoid starting any new processes while there are
serious problems in the system.
Administrator 15–25
Event Processors
The Number Errors parameter specifies the maximum number of errors that can
happen within the Error Time Interval (see previous) when determining if
Unicenter AutoSys JM should shut down the event processor. If the specified
number of errors occurs within the error time interval, Unicenter AutoSys JM
shuts down the event processor as a safety measure.
By default, the Error Time Interval is 60 seconds, and the Number of Errors is 20.
These settings specify to shut the processor down if more than 20 errors occur
within 60 seconds.
The Job HeartBeat Interval parameter specifies the time interval (in minutes) that
the event processor should use when checking for heartbeats.
If you are not using this feature, you do not need to set this parameter.
Note: The reason that the event processor (not the remote agent) performs the
checking is that if there is a problem between the remote agent and the event
servers, the HEARTBEAT will be absent, and thus an alarm will be sent.
Therefore, the HEARTBEAT is a good indicator of the stability of the network.
Startjob Poll Interval The Startjob Poll Interval parameter controls how long the inetd waits between
job starts on the same Remote Agent machine. The default setting is set to .05
seconds.
Note: Setting the Startjob Poll interval too low for your specific hardware could
adversely affect performance. In addition, you must ensure your machines
processor is fast enough to handle starting jobs at a faster interval. Otherwise,
there will be frequent socket connection failures, which will cause numerous job
restarts.
The Machine Method parameter specifies the method Unicenter AutoSys JM will
use to determine the percentage of CPU cycles available on a real machine
belonging to a virtual machine. This method is used to achieve load balancing.
The default setting, and only choice on Windows is vmstat (on UNIX, rstatd is
also supported).
For information about rstatd, see the chapter “Configuring,” in the Unicenter
AutoSys Job Management for UNIX User Guide.
The XInstance DB Drop Time parameter specifies how an instance will connect
with a different instance when it has a job defined with a cross-instance job
dependency.
If this parameter is set to zero, then the event processor will connect to the other
instance before every new event is sent; after the event has been sent, the
connection will be dropped. This option is preferable when you use cross-
instance job dependencies infrequently.
If the value of this parameter is equal to one, then the event processor will
connect to the other instance before the first event is sent and maintain the
connection indefinitely. This option is preferable when you use cross-instance
job dependencies intensively.
Administrator 15–27
Event Processors
The following is the formula used for calculating the Wait Time:
WaitTime=RestartConstant+(Num_of_Trys*RestartFactor)
if WaitTime > MaxRestartWait,
then WaitTime = MaxRestartWait
The Num_of_Trys value is the value specified by the counter, which indicates
the number of times Unicenter AutoSys JM has already tried to start the job. If
the calculated Wait Time is greater than the specified value for the Max Restart
Wait parameter, then the Wait Time is set to the value of the Max Restart Wait
parameter.
The Restart Factor and Restart Constant parameters are described in this chapter.
Note: This parameter governs retries that result because of system or network
problems. It is different from the n_retrys job definition attribute, which controls
restarts when a job fails due to application failure (for example, Unicenter
AutoSys JM is unable to find a file or a command, or permissions are not
properly set).
For information on the n_retrys job definition attribute, see n_retrys in the
chapter “JIL/GUI Job Definitions,” in the Unicenter AutoSys Job Management
Reference Guide.
Unicenter Events The Unicenter Events parameter specifies what messages should be sent to the
Unicenter Event Management Console. Use of this option requires the
Unicenter NSM Event Management component be installed locally on the
machine where AutoSys is installed. By default Unicenter Events is set to 0.
■ 3–To log all events that are generated to the Event Console.
Note: Any other value in the Unicenter Events field will be ignored, and no
messages will be sent to the Unicenter Event Management Console.
The Restart Factor parameter specifies a factor. This value is used in calculating
the Wait Time, which is the interval in seconds that Unicenter AutoSys JM will
wait before attempting to start a job again. The formula used for calculating the
Wait Time is described in the Max Restart Wait parameter, previously discussed.
The Restart Constant parameter is described in this chapter.
Administrator 15–29
Event Processors
Microsoft Windows does not support the concept of process groups. If the
launched job is a *.exe, KILLJOB kills the process specified in the command
definition. If the job being run is not a *.exe (for example, *.bat, *.cmd, or *.com),
AutoSys uses CMD.EXE to launch the job, and then, KILLJOB kills only the
CMD.EXE process. The Job Status is then set according to the return code of the
killed CMD.EXE process, and this status can be any one of the following:
SUCCESS, FAILURE, or TERMINATED. Any processes that were launched by
user applications or batch (*.bat) files cannot be killed.
Note: The KillSignals listed in the configuration file are overridden when issuing
the sendevent command with the -k option.
The Restart Constant parameter specifies a constant value. This value is used in
calculating the Wait Time, which is the interval in seconds that Unicenter
AutoSys JM will wait before attempting to start a job again. The formula used for
calculating the Wait Time is described in the Max Restart Wait parameter, on
“MaxRestartWait” MaxRestartWait.
Chase On Startup The Chase On Startup setting indicates whether the chase utility program
should run when the event processor is started. The chase utility checks to see if
jobs and remote agents are actually running.
For information on the chase utility, see chase in the chapter “Commands,” in
the Unicenter AutoSys Job Management Reference Guide.
Global Auto Hold The Global Auto Hold setting indicates whether global auto hold mode is on or
off. You should turn on global auto hold when you are going to restart an event
processor after a shutdown period. Then, when you start the event processor, it
is in global auto hold mode, and you have time to evaluate all jobs whose
starting conditions have passed and are thus eligible to run.
This option allows you to manually start jobs in a controlled manner so that the
system is not overloaded with job start events. You can use the Scheduler
Console screens to help you decide which jobs to start, and to then start them.
For more information about Global Auto Hold, see Starting the Event Processor
in the chapter “Maintaining ,” in this guide. For information on using the
Scheduler Console, see the chapter “Scheduler Console,” in this guide.
The Clean Temporary Files setting indicates whether the remote agent should
remove its temporary log file upon successfully completing a job. For every job
that runs, a file is created in the remote agent log directory. If you check the
Clean Temporary Files box, Unicenter AutoSys JM removes the temporary log
file upon the successful running a job. By doing this, the remote agent, upon the
successful completion of its tasks, removes the C:\tmp\auto_rem* file (assuming
the default C:\tmp Local Logging Directory is being used).
If you deselect the Clean Temporary Files box, the files remain in the directories
until you run the clean_files process.
If a job is not successful, the files remain in the directory for diagnostic purposes
regardless of the setting. Therefore, with either setting, you should run the
clean_files process periodically to remove files from unsuccessful job
completions.
Administrator 15–31
Event Processors
The Remote Profile Logging setting indicates whether the event processor
should redirect to the auto.rem* log file all standard error and standard output
information that is generated when the UNIX /etc/auto.profile file is sourced.
Since job profiles are defined differently on Windows, no profile related
standard error and output information is generated. Therefore, this parameter
applies only to jobs that the event processor is sending to run on a UNIX
machine.
The Append stdout/stderr setting specifies whether the instance will overwrite
or append information to the standard output and standard error files.
If this check box is not selected, then the files are overwritten, which is the
default behavior. If this check box is selected, the new output and error
information is appended to the files
When determining its behavior, Unicenter AutoSys JM checks the following (in
this order):
1. Checks the AutoSys job definition for append or overwrite notation. If there
is a notation, Unicenter AutoSys JM uses the indicated behavior, and does
not check other settings.
To set the behavior at the job definition level, place the appropriate notation
as the first characters in the std_err_file or std_out_file specification in JIL, or
in the File to redirect standard output and File to redirect standard error
fields on the Job Editor Command Info tab. Use the following notation to
specify whether the files should be appended to or overwritten:
> Overwrite file
>> Append file
2. Checks the AutoMachWideAppend variable setting, which you can set in the
Unicenter AutoSys Administrator System Information screen (see the topic,
“AutoMachWideAppend.)” If this variable is set for the specific machine,
Unicenter AutoSys JM uses the indicated behavior, and does not check other
settings.
Note: If you are running jobs across platforms, the event processor of the issuing
instance controls the default behavior. For UNIX, the default event processor
behavior is to append this file.
Event Serialization This Event Serialization setting only allows one event processor to retrieve an
event from the database at a given time, preventing deadlock conditions
between multiple event processors. If the Event Serialization option is not
selected, multiple Event Processors will be able to retrieve events from the
database without serialization. It is possible to experience database deadlocks
without running the event serialization option. If this condition occurs, the
process that received the deadlock condition will retry.
Note: This option is only available when running multiple event processors.
Multiple EP Restart When the Multiple EP Restart option is checked, the primary event processor
will try to automatically restart any of the secondary event processors should it
go down. The primary event processor will not be restarted, should it go down.
Note: This option is only available when running multiple event processors.
Administrator 15–33
Event Processors
Broker Options
The Unicenter AutoSys Agent Support setting indicates whether an instance can
start jobs on Unicenter AutoSys Agent machines. If the Unicenter AutoSys Agent
Support check box is checked on, the event processor can send jobs to Unicenter
AutoSys Agent machines. If the check box is not checked (the default setting),
the event processor will not send jobs to Unicenter AutoSys Agents.
Receive Remote Job The Remote Job Submissions setting specifies whether or not an instance can
Submissions receive job submissions from a mainframe or a Unicenter Manager. If the check
box is not checked (the default setting,) the Instance will not be able to receive
jobs.
Note: This option is only effective upon the initialization of the Event
Processor/Broker. When this option is selected, that Broker will start the
asbIIIsr1 process, which is responsible for processing remote job submissions.
Notification Mechanism
The notification mechanism provides a method for communicating problems to
administrators in a manner that is external to the event system. That is, for
certain types of alarms, you can configure Unicenter AutoSys JM to call user-
defined routines that communicate the problem to specific members of your
company. For example, by using electronic mail or a command line pager utility,
your administrator can be notified as soon as certain events occur.
You can configure Unicenter AutoSys JM to call user-defined routines for the
following types of system alarms:
■ Database Rollover
■ Database Problem
Administrator 15–35
Notification Mechanism
or:
Note: To modify the settings on this screen, you must have Windows
Administrators group privileges.
Notification Example
Then, if the event processor shuts down, Unicenter AutoSys JM will pass pager a
numeric code and a text message. You must code pager to accept these
parameters.
This section lists and describes the configuration parameters located on the
Notifications screen. When specifying a user-defined routine, you must enter the
complete path and executable name in the appropriate field.
The Event Processor Rollover parameter specifies the user-defined routine that
Unicenter AutoSys JM should call when the shadow event processor is taking
over processing.
The Event Processor Shutdown parameter specifies the user-defined routine that
Unicenter AutoSys JM should call when the event processor is shutting down,
either as a result of a normal shutdown process or as a result of an error
condition.
Administrator 15–37
System Information
System Information
Access to Unicenter AutoSys JM software is controlled by three environment
variables and the Windows Registry settings that you enter through the
Unicenter AutoSys Administrator. In addition, the database often has associated
environment variables and configuration files. For Unicenter AutoSys JM to
work properly, all of these variables and files must be present in each working
environment. During the installation procedures, variables are set both at the
Windows system level and at the Unicenter AutoSys JM level. The Unicenter
AutoSys Administrator System Information screen displays the variables that are
set at the Unicenter AutoSys JM level; these variables are set when you run the
Unicenter AutoSys JM software. You can modify and add to these standard
environment variables.
Note: The environment variables for the AutoSys database are set at the
Windows system level.
Using the Unicenter AutoSys Administrator System Information screen you can
view and modify the settings of environment variables that are necessary. In
addition, the System Information screen provides Version and Build information
on the Unicenter AutoSys JM that you are running.
or:
Administrator 15–39
System Information
Enter a Variable and Value, and click Set. Then, click Apply or OK.
Note: To modify the settings on this screen, you must have Windows
Administrators group privileges.
This section lists and describes the specific variable settings that are located on
the System Information screen by default. These are the environment variables
that are set in the instance command prompt windows.
Note: The variables that appear on this screen are set when you open an
AutoSys instance command prompt window.
The %AUTOSYS% environment variable specifies the full path to the software
directory.
The %AUTOSERV% environment variable specifies the instance ID. The instance
ID is the capitalized three-letter name that identifies a specific server installation
on a particular machine. By default, the instance ID is ACE, but you can specify
another name during the installation process. You cannot change this variable
using the Unicenter AutoSys Administrator. To change the instance ID, you
must uninstall Unicenter AutoSys JM, and reinstall it using the new ID.
For more information about AutoSys instances, see the topic “Instances,” in this
chapter.
The %AUTOUSER% environment variable specifies the full path to the directory
containing the user’s directory, which holds the user external configurations file
(the config.EXTERNAL file), the event processor output files, and the archive
output files generated during database maintenance.
For more information about the config.EXTERNAL file, see the Configuring
Cross-instance Job Dependencies section in the chapter “Advanced
Configurations,” in the Unicenter AutoSys Job Management for Windows
Installation Guide.
DSQUERY The %DSQUERY% environment variable specifies the name of the Sybase event
server. The default setting is AUTOSYSDB.
If you are using an Oracle or Microsoft SQL Server database, this field is not
displayed.
Administrator 15–41
System Information
AutoMachWide You can set the %AutoMachWideAppend% variable to override, at the machine
Append level, the “Append stdout/stderr” configuration parameter, which is set in the
Unicenter AutoSys Administrator Event Processor screen (see “Append
stdout/stderr” AutoInstWideAppend). Using this variable, you can set up each
client machine to override global behavior.
If you set this variable to yes, the log files are appended. If you set it to no, the
log files are replaced. If you do not set this variable, the behavior set by the
“Append stdout/stderr” global configuration parameter is used.
Version The Version field indicates the Unicenter AutoSys JM for Windows version
number (for information purposes only).
Build The Build field indicates the Unicenter AutoSys JM for Windows build number.
This field is read-only; it is for informational purposes only.
Sounds
If you have a Monitor/Browser Editor running on a Windows system that
supports sound, you can associate sounds with specific events, such as alarms or
job success and failure. You can use the Administrator Sounds screen to turn
sound on and off as well as specify the sounds you want played for specific
events. Then, once you have enabled and defined these sounds, Unicenter
AutoSys JM uses the defined sounds to announce the events as they occur.
Note: All sounds also can be managed using the Sound option of the Windows
Control Panel. In addition, you can record new sounds with the Windows Sound
Recorder in the Accessories program group. For instructions on how to record
sounds, see your Windows documentation.
Using the Unicenter AutoSys Administrator Sounds screen (see the following
illustration), you can turn sound on and off as well as specify the sounds you
want played for specific events. In each Sounds field, you can specify the *.wav
file that you want played for that event.
or:
Administrator 15–43
Sounds
Note: Changes you make to the sound settings are saved for the current, logged
on Windows user. If you log on as a different user, these modified settings will
not be in effect.
This section lists and describes the configuration parameters located on the
Sounds screen.
AutoSys Alarm The AutoSys Alarm setting specifies the location of the *.wav file that is played
for AutoSys Alarm events.
For a list of Alarms, see the Alarms section in the chapter “System States,” in the
Unicenter AutoSys Job Management Reference Guide.
AutoSys Big Alarm The AutoSys Big Alarm setting specifies the location of the *.wav file that is
played for the AutoSys Big Alarm. An AutoSys Big Alarm announces an event
that is not a job CHANGE_STATUS event, but still returns a FAILURE or
TERMINATED status.
AutoSys Default The AutoSys Default setting specifies the location of the *.wav file that is
played for all events that do not fit in the other Sounds categories (that is,
Alarm, Big Alarm, Success, and Failure).
AutoSys Success The AutoSys Success setting specifies the location of the *.wav file that is
played for an AutoSys job SUCCESS event. A SUCCESS event occurs when a
job exits and AutoSys considers it successful, based on the exit code for a
command job or the success conditions for a box job.
AutoSys Failure The AutoSys Failure setting specifies the location of the *.wav file that is played
for an AutoSys job FAILURE status event. A FAILURE event occurs when a job
exits and AutoSys considers it a failure. A job is considered a failure when the
exit code for a command job is greater than the maximum success value
specified for the job, or when the failure conditions for a box job evaluated to
TRUE.
Administrator 15–45
Security
Security
Unicenter AutoSys JM supplies you with several security features. One of these
features is remote authentication. There are two types of remote authentication:
■ user authentication
You can configure your remote agents so they verify access permission for event
processors and for users. The Unicenter AutoSys Administrator Security screen
allows you to define the Trusted Hosts and Trusted Users for User remote
authentication.
By default, both types of remote authentication are turned off, but you can turn
them on using the autosys_secure command. If event processor remote
authentication is on, the remote agent will verify that the requesting event
processor is on the list of authorized event processor host names, which is
specified on the Unicenter AutoSys Administrator Remote Agent screen. If user
remote authentication is turned on, the remote agent will check the Trusted
Hosts and Trusted Users lists to see if the job request is coming from an
authorized host or user.
The Security screen allows you specify Trusted Hosts and Users, which are used
when remote authentication is turned on. Remote authentication supplies
additional security measures, and you can turn it on using the autosys_secure
utility.
With user remote authentication turned on, the remote agent follows this
procedure when trying to log on to a machine to run a job.
2. If the first log on does not work, the remote agent tries to log on as the user
owner at the machine on which the job is to be run (the host name specified
by the machine job attribute), using the user@host format. The remote agent
uses the password that the event processor has passed to it for this user.
However, since the job owner is now different from the user that is trying to
log on, remote agent user authentication is required. Therefore, the remote
agent checks for one of the following two things (in this order, and only one
condition must be met):
3. If one of these conditions is met, the remote agent attempts to log on as this
user (user@host) by using the database password entered for that user. If this
logon succeeds, the job is started. Otherwise, the remote agent does not start
the job and issues an error.
Note: In addition to checking the permissions of these various users, the remote
agent makes sure that the Windows user has a valid ID and password entered in
the database. The edit superuser can enter and modify passwords using the
autosys_secure command, and any user that knows an existing user ID and
password can change the password or delete the user and password using the
autosys_secure command.
Administrator 15–47
Security
Using the Unicenter AutoSys Administrator Security screen (see the following
illustration), you can specify the Trusted Hosts and Trusted Users lists (which
are only used when remote authentication is turned on, using the autosys_secure
utility).
or:
Note: To modify the Trusted Host setting, you must be the edit superuser, and
you must have Windows Administrators group privileges.
This section lists and describes the configuration parameters located on the
Security screen.
Trusted Hosts The Trusted Hosts list defines the machine host names or domain names that
are allowed to log on to the client machine to run jobs. You must be the edit
superuser to modify the Trusted Hosts settings. Use the Add Host and Remove
Host buttons to enter or remove the host name in the top field of the Trusted
Hosts list.
Exercise caution when modifying this list, since any user on a designated
Trusted Host host_or_domain is granted logon access, and thus can run jobs on
the client machine.
Trusted Users The Trusted Users list is a group of user@host_or_domain entries that define
who can log on and run jobs on the defining client machine. Trusted Users
permissions are owned and administered by individual users on client
machines. All users can define their own set of Trusted Users on their own
machines. As the current, logged on Windows user, you can make changes to
the Trusted Users settings, and they are saved under your specific user ID only.
Then, all users listed as Trusted Users are allowed to log on to the defining
client machine, as long as they have a valid user ID and password in the
database.
Use the Add User and Remove User buttons to enter or remove the user names
in the top field of the Trusted Users list.
Administrator 15–49
Services
Services
Unicenter AutoSys JM has the following primary components, or services:
■ Remote Agent
■ Event Processor
The Services screen allows to you check the statuses of Services associated with
the instance that you selected in the Instance screen.
Using the Unicenter AutoSys Administrator Services screen (see the following
illustration), users with Windows Administrators group privileges can start and
stop the Remote Agent service, and start the Event Processor service. Other users
can only view the status of these services.
Note: You cannot stop the Event Processor service from this screen. To stop the
event processor, you must be the exec superuser, and you must execute the
sendevent -E STOP_DEMON command at an instance command prompt. When
you are ready to start the event processor again, you can do so from the Services
screen.
or:
Note: To modify the settings on this screen, you must have Windows
Administrators group privileges.
Administrator 15–51
Services
This section lists and describes the components of the Services screen.
Service The Service drop-down list shows the Services that are installed on the selected
instance. You can select a Service from the drop-down list, and then you can
view and change the Status of the Service.
Status The Status traffic light and the field below indicate the status of the selected
Service.
The traffic light indicates the status of the selected Service. A red light indicates
that the service is Stopped; a yellow light indicates that the service is Updating
or Pausing; and a green light indicates that the service is Running.
The field below the traffic light also indicates the status of the selected Service—
it corresponds to the traffic light. This value can be “Stopped”, “Updating,” or
“Running.”
Start Service If the Start Service button is enabled, you can click it to start the selected
Service.
Stop Service If the Stop Service button is enabled, you can click it to stop the selected Remote
Agent service. (The Event Processor service cannot be stopped from this screen.
See the note in the next section.)
Select the Remote Agent service from the Service drop-down list and click
Start Service.
Select the Remote Agent service from the Service drop-down list and click
Stop Service.
Select the Event Processor service from the Service drop-down list and click
Start Service.
Note: You cannot stop the Event Processor Service from this screen. To stop the
event processor, you must be the exec superuser, and you must execute the
sendevent -E STOP_DEMON command at an instance command prompt. When
you are ready to start the event processor again, you can do so from the Services
screen.
Administrator 15–53
Chapter
Troubleshooting
16
Problems with Unicenter AutoSys JM usually involve the interactions between
the major components, rather than with the individual components themselves.
This chapter presents a number of common problems, their symptoms, and how
to resolve them. It provides very useful information about troubleshooting the
primary components.
Troubleshooting 16–1
Introduction
Introduction
To troubleshoot Unicenter AutoSys JM more effectively, it is essential that you
understand the stages in the life of a job, the order in which they occur, and the
roles played by the three major components (that is, event server, event
processor, and remote agent).
When a job is defined, its starting conditions are saved to the event server
(database), and the following occurs:
■ When its starting conditions are met, the event processor initiates a remote
agent on the client machine to execute the job.
■ The remote agent runs the job and sends the exit status of the job back to the
event server.
■ After the job completes, it is not run again until its starting conditions are
met.
Note: If you are using an Oracle or a Microsoft SQL Server database as your
event server, you must install the appropriate, database-specific Oracle Client
Products (specifically SQL*Net Release 2.2 or higher) or Microsoft SQL Server
client utilities on each event processor and remote agent machine, and you must
ensure that you have database connectivity between the event server, event
processor, and remote agent machines.
To verify that the Event Server service (the database service) is started, look at
the Windows Control Panel’s Services dialog. For bundled Sybase, verify that the
status of SYBSQL_LOCAL is “started.” If you are running unbundled Sybase,
the service will have a different name. If you are running an Oracle database,
verify the status of the following services (substitute your Oracle SID for the
asterisk): OracleService*, OracleStart*, and OracleTNSListener. If you are
running a Microsoft SQL Server, verify the status of the MSSQLServer service.
For information on starting services with the Administrator, see Services in the
chapter “Administrator,” in this guide.
Troubleshooting 16–3
Event Server Troubleshooting
Symptoms
2. When running programs like autorep or autosc, you get a message like:
Client ERROR:
Net-Lib protocol driver call to connect to two end points failed.
3. When you run chk_auto_up, you receive a message similar to the following:
Couldn’t connect with Server: AUTOSYS:autosys
Resolution
This indicates that either the data server is down, or the process in question is
unable to access it. To confirm that the data server is down, log onto the server
machine and run the chk_auto_up utility.
If you are running with an unbundled Sybase database, verify that the database
services have been started. Or, if your database resides on a UNIX platform,
verify that the processes for your database are running.
If you have installed the bundled Sybase database on a Windows machine, you
can check the status of the database using the Services dialog in the Windows
Control Panel on that machine. The name of the bundled Sybase Service is
SYBSQL_LOCAL. In addition, you can use the Windows Services dialog to start
the Sybase Service.
If the database service is running, the problem could be that you are pointing to
the wrong data server. The system DSQUERY environment variable points to the
name of the data server (typically AUTOSYSDB). If it is not set properly and you
are not specifying a data server name to xql (using the -S server option), then xql
will fail.
You can view and modify the setting of the DSQUERY environment variable
using the Unicenter AutoSys Administrator, which you can open from the
program group. The DSQUERY field is located on the Administrator System
Information screen.
If the database service is up, and the environment variable is set properly, then
the Sybase SQL.INI file might not have the proper form, or be in the proper
location. This typically occurs on servers if the environment has been changed,
or, on clients, if the SQL.INI file has not been correctly installed. This file is
located in %SYBASE%\INI.
For more information about the Sybase SQL.INI file and connecting to databases,
see the chapter “Introduction,” in the Unicenter AutoSys Job Management for
Windows Installation Guide. For information on using the Unicenter AutoSys
Administrator, see the chapter “Administrator,” in this guide.
Sybase Deadlock
Symptom
A message similar to the following appears in the event processor log when
viewed with the autosyslog -e command or in the Sybase error log
(Autosys.instance\sql10\log\sqlsrvr.log):
Your server command (process id #11) was deadlocked with another process and has
been chosen as deadlock victim. Re-run your command.
Resolution
A deadlock is a Sybase condition that occurs when two users have a lock on
separate objects, and they each want to acquire an additional lock on the other
user’s object. The first user is waiting for the second user to let go of the lock, but
the second user will not let go until the lock on the first user’s object is freed.
The data server detects the situation and chooses the user whose process has
accumulated the least amount of CPU time as the “victim.” The data server rolls
back the victim’s transaction, notifies the application with the above error
message, and allows the other user’s processes to move forward.
sendevent will try to rerun the command until it is successful or until it reaches
the maximum number of tries specified by the -M option.
Troubleshooting 16–5
Event Server Troubleshooting
Symptoms
Users cannot make connections to the database; they cannot start the GUI or
send events. When you check the Sybase error log
(Autosys.instance\sql10\log\sqlsrvr.log) you see one or both of the following
errors:
Not enough User Connections (Sybase error 1601)
No Pss structures available for new process
Resolution
These messages occur because there are more users who want to run jobs
simultaneously than there are user connections; there are not enough
connections available to the database. By default, the bundled Sybase installation
of Unicenter AutoSys JM has a limit of 25 user connections. You can increase the
number of user connections, but first you must determine the maximum number
of user connections your system can support.
To determine the maximum number of user connections you can set for your
system:
3. Enter:
1> select count(*) from master..sysdevices where cntrltype = 0;
4. Enter:
1> select count(*) from master..sysdevices where mirrorname is not NULL;
5. Enter:
1> select count(*) from master..sysservers where srvname != @@servername;
1. At the isql or xql prompt, enter the following command to specify the
number of user connections you want:
1> sp_configure “user connections”, number;
where:
WARNING! If you set the number of user connections too high, the database
will be unusable. At this point, you might not be able to rerun sp_configure to
lower the number of user connections. To return the database to working order,
you must run buildmaster or recover the database from backups.
2. Stop and restart the event server. Changes will not take effect until you stop
and restart the event server.
Troubleshooting 16–7
Event Server Troubleshooting
Symptom
When the transaction log is full, archive_events fails. This usually occurs because
archive_events is not run regularly. We highly recommend that you run
archive_events frequently, ideally as part of the daily database maintenance
cycle by using DBMaint or as a regularly scheduled job.
You can usually avoid a full transaction log by having Sybase truncate the
transaction log during regular checkpoints.
1. Log into the database server as the “sa” by entering the following command
(if you changed the “sa” password, use that one instead of sysadmin):
xql -Usa -Psysadmin
or:
1> sp_dboption autosys, “trunc. log on chkpt.”, true;
Resolution
1. Log into the database server as the “sa” by entering the following command
(if you changed the “sa” password, use that one instead of sysadmin):
xql -Usa -Psysadmin
Repeat Step 4 and each time increase the row count incrementally. To begin
with try doubling the number. If this fails at any time, decrease the row
count and try again. When the row count is large, log out of the data server.
5. Log out of the data server, and then run archive_events. Begin with a large
number of days and work down until you reach your target number of days.
For example:
archive_events -n 30
archive_events -n 10
Symptom
While running, reports an error similar to the following, and then the event
processor shuts down:
-- ORACLE error --
01654: unable to extend index AUTOSYS.EVENT_GET1 by 512 in tablespace
AUTOIN-06512: at "AUTOSYS.EVENT_STATE", line 34-06512: at line 1
OCI function OEXEC, OEXN (34)
event: GRO0000mct02 Could NOT be marked as processed.
...
Resolution
Ask your database administrator to increase the size of the tablespace in your
Oracle database. Then, restart your event processor.
Troubleshooting 16–9
Event Processor Troubleshooting
Everything that the event processor does, in the order it was done, is in this file.
Network problems are usually reflected in this file as well. This file is very useful
for reconstructing what happened when a problem occurs.
Symptoms
8. The event processor log viewed with the autosyslog -e command has not
registered a date and timestamp for a period of time. The event processor log
should register date and timestamps every minute.
Resolution
Confirm that the event processor is down by performing one of the following
actions:
If the event processor is indeed down, use the Unicenter AutoSys Administrator
Services screen to start the event processor. To do so, on the Services screen,
select the event processor from the Service drop-down list, and then click the
Start Service button. (The Status field should change to Running, and the traffic
light icon should turn green.)
Symptom
The autosyslog -e command displays a message indicating that the Time Key is
not valid.
Resolution
Install your Time Key as described in the chapter “Entering License Keys,” in the
Unicenter AutoSys Job Management for Windows Installation Guide.
Symptom
Resolution
The database service is down or there are problems with the Sybase installation.
To fix the problem, follow the steps in the Resolution section of Event Server is
Down in this chapter. After you have done this, and the database service is
accessible, the event processor should be able to connect.
Symptom
2. The event processor service does not remain running or never starts.
Resolution
Correct the problems identified at the end of this file, and restart the event
processor.
Note: This file is appended to each time the event processor is started.
Symptom
Troubleshooting 16–11
Event Processor Troubleshooting
The event processor will not remain started and does not write log output to the
%AUTOUSER%\out\event_demon.%AUTOSERV% file or to the
event_demon.%AUTOSERV%.out file that is located in the directory specified in
the Enterprise-Wide Logging Directory field on the Unicenter AutoSys
Administrator Event Processor screen (by default, this directory is C:\tmp).
Resolution
Resolution The event processor on the machine must have been started at least once or this
message appears. If the event processor has been started, ensure that
permissions are set on the log file that will allow a system program to read and
write to the file.
Resolution This occurs if you have modified the Windows Registry so that the -A option is
not used when starting the Event Processor service. To fix this problem with the
Windows Registry settings, you must uninstall AutoSys, and then reinstall
Unicenter AutoSys JM.
Resolution The %AUTOSYS% system environment variable is not available to the event
processor. In the Windows Control Panel, click on the System icon and ensure
that the %AUTOSYS% environment variable is set properly in the System
Environment Variables region. (You can also check the setting of this variable
on the UnicenterAutoSys Administrator System Information screen.)
Resolution The %AUTOSYS% environment variable value is set to a path that is longer
than 80 characters. Uninstall Unicenter AutoSys JM, and reinstall it into a
directory path that is fewer than 80 characters.
Resolution The event processor launches chk_auto_up upon initialization. That process has
terminated without proper notification to the event processor. When this
occurs, something is seriously wrong with your local system account. Try
setting the event processor to log on as the administrator. If this is successful,
you can run the event processor. However, it is recommended that you
consider uninstalling and reinstalling the software.
Resolution The event processor launches chk_auto_up upon initialization. That process is
taking longer than 5 minutes to complete. This might occur on large or slow
networks where chk_auto_up has to query every machine in the Authorized
Event Processor Host Names list (which is located on the AutoSys
Administrator Remote Agent screen). To test for this problem, run chk_auto_up
in an instance command prompt window, and check how long it takes to
complete. This event is only a warning, and the event processor will wait for
this to complete before starting.
Resolution The event processor launches chk_auto_up upon initialization. That process
terminated prematurely with a Windows error code. Verify that
chk_auto_up.exe is located in the %AUTOSYS%\bin directory and has the
proper permissions for system programs to execute.
Resolution The event processor launches chk_auto_up upon initialization. That process
reported that the setup is incorrect. Uninstall and reinstall the software.
Resolution When the event processor was started, it detected another event processor
running with the same instance ID. Only one event processor can run in an
instance. Either stop the other event processor, or do not attempt to start this
event processor.
Troubleshooting 16–13
Event Processor Troubleshooting
Resolution The event processor was unable to create the normal log file named in the
message. Ensure that the log file has permissions that will allow a system
program to read and write to the file. Also check if the disk drive has run out of
space.
Resolution When the event processor starts it looks at the size of the EPFILENAME log file.
If this file is greater than 256 KB, the event processor will attempt to rename it
to EPBACKUPFILENAME and create a new EPFILENAME log file. If the event
processor is unable to do this, check that EPFILENAME has permissions that
will allow a system program to read and write the file. Also, check if the disk
drive has run out of space.
If you suspect problems with the remote agent, you can use autoping to verify
your suspicions.
autoping
The autoping command is used to test the connections between the event
processor and the remote agent. If you use the autoping -m client_hostname
command, and it does not return an error, the remote agent should start
properly.
The remote agent writes RUNNING and completion statuses directly to the
event server.
Database Verification
Use autoping to verify the remote agent database connection. To check the
database connections on machine, enter:
autoping -m machine -D
Instead of a single machine, you can enter autoping -m ALL to check all
machines.
This command captures the output from the attempted database connection,
displays it, and includes it in the alarm, if one is generated (use the -A argument
to generate an alarm if problems are found).
autoping -m venice -D
AutoPinging Machine [venice] AND checking the
Remote Agent's DB Access.
AutoPing WAS SUCCESSFUL!
Troubleshooting 16–15
Remote Agent Troubleshooting
The symptoms in this section are similar and result from network problems.
Symptom
Resolution
Symptom
Resolution
Either the Remote Agent service is not started, or Unicenter AutoSys JM was not
installed or configured properly so that the remote agent and event processor
use different port numbers.
First, verify that the Remote Agent service is started. To do this, open the
Unicenter AutoSys Administrator from the AutoSys program group, and follow
these steps:
1. Select set Computer and Instance, and click OK. This action enables the
menu items, and their corresponding toolbar buttons.
2. Move to the Services screen by selecting Services from the menu or clicking
the Services button (traffic light) on the toolbar.
3. Select the Remote Agent from the Service drop-down list. Check the Status
using the traffic light icon and the Status field.
After the Remote Agent service is started, verify that the port numbers are
synchronized using the Unicenter AutoSys Administrator. To do so, follow these
steps:
1. On the machine where the Remote Agent service is located, start the
Unicenter AutoSys Administrator and check the Remote Agent Port
Number, which is located on the Remote Agent screen.
2. On the event processor machine, check the Remote Agent Port Number in
the same fashion.
Symptoms
2. This problem is detected either in the Event Processor window (or log) or in
the results of running the autorep command on the job, when the following
event appears, then nothing else, yet the job does run to completion on the
client machine:
CHANGE_STATUS Status: STARTING Job: test_install
Resolution
This is a common problem and is nearly always the result of the remote agent
being unable to contact the event server. First, ensure that network problems are
not preventing communication between the remote agent and the event server
machines. If this is not the problem, then check the following database-specific
solutions.
With Sybase and Microsoft SQL Server databases, the usual cause of this
connection problem is that the specified database settings are different from
those used by the AutoSys event processor. With Oracle, this problem usually
occurs because the SQL*Net V2 connections are not set up properly.
The remote agent must be able to connect to the event server in order to send the
RUNNING, SUCCESS, FAILURE, or TERMINATED status events.
Troubleshooting 16–17
Remote Agent Troubleshooting
To verify the problem, look in the AutoRemoteDir\auto_rem* file for this job
(the AutoRemoteDir value is the Local Agent Logging Directory value, specified
in the Unicenter AutoSys Administrator Remote Agent screen). You can
accomplish this by issuing the following command on the machine where the job
is supposed to have run (using an Instance Command Prompt window):
autosyslog -J job_name
where:
If the remote agent cannot send the event back to the database, it will write a
message to that effect, plus run some diagnostics, into this file. (The output from
the autosyslog command could provide a helpful DBMS error number from the
connect attempt.)
To determine that all the database settings are correct, check the settings on the
Unicenter AutoSys Administrator Event Server screen for both the remote agent
and the event processor machines. Verify that the remote agent’s event server
name, database, and port number settings are the same as those on the event
processor machine settings.
In addition, make sure that the database settings (as determined by Sybase,
Oracle, or Microsoft SQL Server) are the same as the settings Unicenter AutoSys
JM is using. That is, check the database settings against the settings on the
AutoSys Administrator Event Server screen.
For Sybase, first make sure that the Sybase SQL.INI file exists, then make sure
that the settings are the same as the settings AutoSys is using. This file is located
in the %SYBASE%\INI directory. To determine the setting Unicenter AutoSys
JM is using for the %SYBASE% variable, look at the Control Panel System dialog.
For Microsoft SQL Server databases, check the Microsoft SQL Server database
settings using the SQL Enterprise Manager. In addition, for Microsoft SQL
Server database, you must make sure that one of the following is true:
■ User accounts have been added on the database machines for all users.
If you do not configure your Microsoft SQL Servers in one of these ways, your
jobs will go into Starting state, and will seem to remain in this condition. This
behavior results from the fact that the remote agent cannot write the status back
to the Microsoft SQL Server databases, because the owner of the job does not
have proper permissions on that database machine.
1. Check that the Oracle TNS names file, TNSNAMES.ORA, exists, is readable,
and contains the correct information for the event server. By default, the TNS
names file is in the following location:
\ORANT\NETWORK\ADMIN\TNSNAMES.ORA
2. Check that the Oracle TNS names file has a SQL*Net V2 formatted entry for
the event server.
For information on using the Unicenter AutoSys Administrator, see the chapter
“Administrator,” in this guide.
Testing the Setup To test that everything is set up properly, try to log onto the event server from
the client machine, using the xql utility (for Sybase), the SQL*Plus command
language interface (for Oracle), or the ISQL/w graphical query interface (for
Microsoft SQL Server). When you log onto the event server, use the “autosys”
user and password.
Troubleshooting 16–19
Remote Agent Troubleshooting
Symptom
Resolution
1. Determine if the data server is started and running, and start it if it is not
running.
■ Verify that the DSQUERY environment is set to the proper data server.
■ Run xql with the -S and -D options to specify the correct data server and
database.
Each time the remote agent is started on a machine, it creates the following log
file:
AutoRemoteDir\auto_rem.pid
where:
AutoRemoteDir Is the Remote Agent Local Agent Logging Directory specified in the Unicenter
AutoSys Administrator Remote Agent screen, or at installation time. By default,
this directory is the C:\AUTOSYS.INSTANCE\tmp for single instance
installations, or C:\AUTOSYS\INSTANCE.tmp for multiple instance
installations.
After the remote agent receives its instructions from the event processor, it
renames this file to give it a unique name. This is the form of the new file name:
AutoRemoteDir\auto_rem.joid.run_num.ntry
where:
This file contains all the instructions passed to the remote agent by the event
processor, the results of any resource checks, and a record of all actions it took.
Any problems experienced by the remote agent are reported here, including the
inability to send events to the databases, which is the most common problem.
Troubleshooting 16–21
Job Failure Troubleshooting
To find the most recent instance of the remote agent Log for a given job, you
issue the following command on the machine where the job last ran:
autosyslog -J job_name
Symptoms
The event processor log as viewed with the autosyslog -e command displays a
message like:
Agent remote authentication!
Error:<Remote Authentication has FAILED for
User: USER@HOST on machine:RAHOST.>
In addition, the remote agent log as viewed with the autorep -J job_name
command might display the following message:
Remote Authentication has FAILED for User:USER@HOST
on machine:RAHOST.
Message: Couldn’t find valid entry in security key.
Resolution
The job is trying to run on a host that is different than the host or domain on
which the job was defined, and security (remote agent user authentication) has
denied access for the host or domain on which the job was defined. In this case,
the job was defined on the HOST host, and is trying to run on the RAHOST host.
For this example, you can resolve the problem in one of the following ways:
■ The edit superuser can log on to the RAHOST machine and add a Trusted
Host entry for HOST to the Trusted Hosts list on the Unicenter AutoSys
Administrator Security screen.
■ USER can log on to the RAHOST machine and add a Trusted User entry for
the USER@HOST user to the Trusted Users list on the Unicenter AutoSys
Administrator Security screen.
Symptoms
The Event Processor log as viewed with the autosyslog -e command displays a
message similar to one of the following:
Owner UserId/Password error! ERROR: The password specified for USER@HOSR_OR_DOMAIN
is invalid! Run "autosys_secure" to enter the correct password.
In addition, the remote agent log as viewed with the autorep -J job_name
command could display a message similar to one of the following:
The password specified for USER@DOMAIN is invalid! Run "autosys_secure" to enter
the correct password.
Resolution
In this example, the password for the user@host_or_domain either does not exist
or is not valid. To fix this problem, run the autosys_secure command to enter or
change the user ID and password. For more information, see autosys_secure in
the chapter “Commands,” of the Unicenter AutoSys Job Management for
Windows and UNIX Reference Guide.
Symptoms
Troubleshooting 16–23
Job Failure Troubleshooting
The event processor log as viewed with the autosyslog -e command indicates
that the job immediately returned as FAILURE.
Resolution
A variety of things could be wrong. To determine what is wrong, look for error
messages by running the autosyslog -e command on the event processor
machine, and the autorep -J job_name command on the machine where the job
was supposed to have run.
For example, if the job’s standard out file was Read-only, a message indicating
this would appear in the event processor log.
■ The default profile or the job’s specified user-defined profile has defined the
proper job environment. In particular, ensure that the path variable, if
defined in a job profile, is correct. It is always a good idea to include
%PATH% in any job profile that defines a path variable. This will ensure
that all system path directories are accessible.
■ The file system where the job command resides is accessible from this
machine.
■ The system permissions are correct for the job command to be executed.
■ The permissions are correct on any standard input and output files specified
for re-direction.
For information on defining job profiles, see Job Profiles in the chapter “Jobs,” in
this guide.
Symptoms
When a job starts, the event processor log as viewed with the autosyslog -e
command displays a message similar to the following:
Read Stream Socket Failed
You can also see this message with the Event Report tool (which you can open
from the Scheduler Console or Alarm Manager).
■ Jobs can be defined to conditionally start based on the status of jobs running
on OS/390, AS/400, and OpenVMS.
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–1
Definition of Terms
Definition of Terms
The following terms are used in this appendix:
Term Definition
Unicenter AutoSys A job scheduler that runs on UNIX and Windows.
JM
Related Documentation
Note: Unicenter AutoSys JM can also drive your legacy mainframe scheduler by
way of the Unicenter AutoSys JM Connect product. See the Unicenter AutoSys
Job Management Connect Option User Guide for instructions on how to install
and use this product.
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–3
Job Scheduling for the Enterprise
Prerequisites
Before you can implement enterprise job scheduling, you must install and
configure the basic software as instructed in the Unicenter AutoSys Job
Management for Windows Installation Guide. You must also install and
configure Unicenter AutoSys JM Connect or Unicenter AutoSys Agents, or both,
as instructed in the documentation for these components.
The required software and version levels are listed in the following table:
■ asbIII
An Unicenter AutoSys JM process that communicates with Unicenter
AutoSys JM Connect or any supported Unicenter AutoSys Agent.
■ CCI
The Common Communication Interface. See the appendix “Introducing
CCI” in the Unicenter AutoSys Job Management for Windows Installation
Guide.
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–5
Configuring for Enterprise Job Scheduling
After enabling this parameter, the asbIIIsr1 process is started. For more
information see the section Bi-Directional Scheduling in this appendix.
where:
INS Is the three-letter uppercase identifier for the Unicenter AutoSys JM Connect
instance; for example, CA7. This is the name by which the Unicenter AutoSys
JM Connect application will be known to AutoSys.
Is one of the following:
AGT
– CNCT Represents a Unicenter AutoSys JM Connect machine.
config.EXTERNAL Examples:
■ FLO:TNG=flower
where:
■ FRU:CNCT=fruit
where:
When the event processor starts up, it checks the setting of the
AutoSysAgentSupport check box on the Event Processor Maintenance tab of the
Unicenter AutoSys Administrator. If the parameter setting is inconsistent with
the other integration settings, the event processor will detect this disparity and
shut down. Therefore, it is important to ensure the settings are consistent. That
is, to enable communication with any Unicenter AutoSys Agent, the following
must be true:
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–7
Configuring for Enterprise Job Scheduling
If you want to disable both Unicenter AutoSys Agent and Unicenter AutoSys JM
Connect communication, you must do the following:
See the Appendix A, Introducing CCI in the Unicenter AutoSys Job Management
for Windows Installation Guide.
Now you can start the event processor using the Unicenter AutoSys
Administrator Services screen. For information about starting the event
processor, see the chapter “Administrator,” in this guide.
About asbIII
Communication between Unicenter AutoSys JM and Unicenter AutoSys JM
Connect or a Unicenter AutoSys Agent is facilitated by asbIII. It is a necessary
component for cross-platform communication. Letting asbIII handle that
exchange frees the event processor to handle other events, as in the following
example.
You can also use the Send Event dialog to change the status of a job. This dialog
is accessed from the Scheduler Console.
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–9
About asbIII
You can customize asbIII by setting the environment variable from the
Environment tab of the System Properties dialog.
PRIMARYCCISYSID
PRIMARYCCISYSID = cci_system_id
This environment variable defines the CCI system ID used by the Broker running
under the Primary Event Processor when communicating with remote nodes
(mainframe or Unicenter Workload Agents.) This environment variable is key to
providing Broker failover support within the Unicenter AutoSys JM
environment should the Primary EP shutdown or become unreachable. The
value of this environment variable is passed by the Primary EP to the Shadow EP
on startup.
Should the Primary EP failover, all Broker communication under the Shadow EP
will take place as normal. Any statuses currently residing on the remote agent
machines (mainframe or Unicenter Workload Agents) will now be dispatched to
the Shadow EP machine as opposed to the primary for processing.
Bi-Directional Scheduling
You can start jobs in other instances running on other nodes through out their
respective asbIII’s. It is also possible for a later instance to run jobs defined by an
earlier instance, since multiple instances can be thought of as full peers of one
another.
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–11
Unicenter AutoSys JM Connect Cross-Platform Dependencies
C
Event CCI CCI O
Server N
N Job
E
C
T
Event
Processor asbIII
Note: CCI components are listed in the appendix “Introducing CCI” in the
Unicenter AutoSys Job Management for Windows Installation Guide.
Jobs can be dependent on the status of Unicenter AutoSys JM Connect jobs, and
Unicenter AutoSys JM Connect jobs can be dependent on the status of jobs. For
details on how to implement this with the Unicenter AutoSys JM Connect job
scheduler, see your Unicenter AutoSys JM Connect documentation.
4. The job runs as scheduled by Unicenter AutoSys JM Connect that can run the
job on the mainframe.
7. The event processor starts the job that is dependent on the completion of the
remote job.
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–13
Unicenter AutoSys JM Connect Cross-Platform Dependencies
where:
INS Is a three-letter uppercase identifier of the instance on which the job is running.
^ (Caret symbol before the instance name)—Indicates that the job resides on a
different instance of AutoSys.
The caret symbol (^) before the instance name indicates that the job resides on a
different instance of AutoSys.
From JIL, you enter this in the condition job attribute, as shown in the following
example:
condition: success(JOB_NAME^INS)
From the GUIs, enter this information in the Dependencies field of the Job
Editor. Use the following statuses in the condition attribute of an job definition
dependent on an Unicenter AutoSys JM Connect job:
■ SUCCESS
■ TERMINATED
■ DONE
■ NOTRUNNING
Following is an example of an job that will start only upon the successful
completion of “JOBA,” an OS/390 scheduler defined job that runs on a
mainframe:
condition: success(JOBA^CA7)
where:
success(JOBA^CA7) Specifies the successful completion of an OS/390 defined job named “JOBA”
running on a mainframe specified with the three-letter ID of “CA7.”
Note: These limitations do not apply to all jobs, only to jobs that will be
referenced to Unicenter AutoSys JM Connect.
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–15
Running Jobs on Agents
Event
Processor asbIII AGENT
Note: CCI components are listed in the appendix “Introducing CCI” in the
Unicenter AutoSys Job Management for Windows Installation Guide.
Agent job names and user IDs have the same naming restrictions as Unicenter
AutoSys JM.
Where the operating system allows, agent job names can contain up to 64
alphanumeric characters and agent user IDs can contain up to 30 alphanumeric
characters. These job names and user IDs can be both uppercase and lowercase
(when the operating system allows mixed case). Blank spaces and tabs are illegal
characters.
The process by which Unicenter AutoSys JM can run jobs directly on an agent
managed machine is described following.
1. The event processor sends the job information to asbIII and the job changes
to STARTING status.
2. asbIII passes the information to the agent, which starts the job.
3. The agent passes the information that the job is running (BOJ event) to CCI
on the AutoSys machine that writes it to the proper broker instance.
5. When the job exits, the agent client traps the return code and passes the
information that the job is finished to asbIII.
6. asbIII writes to the database; the job changes to a status of either SUCCESS
(if the job exited with a normal end of job code, EOJ) or TERMINATED (if
the job exited with an abnormal end of job code, AEOJ).
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–17
Running Jobs on Agents
Before you can run jobs on an agent machine, you must first define the agent
machine to Unicenter AutoSys JM using the insert_machine subcommand. This
command adds a new machine definition to the database. It is described in detail
in the chapter “Load Balancing and Queuing Jobs,” in this guide. This section
pertains specifically to defining an agent machine.
where:
■ t
■ c
For example, to define the machine shown in the previous figure in this chapter,
which has a REMOTE_HOST of “ZASYS400,” you would specify the following:
insert_machine: ZASYS400
type: t
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–19
Log and Trace Information
The owner identified in the owner attribute of the job definition must have an
account on the target agent machine. The account must match the owner name
exactly in order for the job to run. The owner of the job definition must be
specified as “user@machine.” The edit superuser must use the autosys_secure
binary to add valid userids and passwords using option 4 as follows:
3. Enter the user name, user host or domain, and password information when
prompted:
Enter user name : bob
Enter user Host or Domain : ZASYS400
Enter new password:
Enter new password again:
User Create successful.
■ STARTING
The job has been passed from the event processor to asbIII.
■ RUNNING
The job has started and a BOJ (Beginning Of Job) event has been sent back to
asbIII.
■ SUCCESS
The job has ended and an EOJ (End Of Job) event has been passed back to
asbIII.
■ TERMINATED
The job has ended and an AEOJ (Abnormal End Of Job) event has been sent
back to asbIII.
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–21
Unsupported Attributes for Unicenter AutoSys JM Connect or Unicenter AutoSys Agent Jobs
Cross-Platform Limitations
When you are running across platforms, keep the following in mind:
CHANGE_PRIORITY
SEND_SIGNAL
Integrating with the Mainframe and Unicenter AutoSys Agents for AS/400 and OpenVMS A–23
Appendix
Troubleshooting CCI
B
This appendix describes troubleshooting CCI for AutoSys.
netstat
Shows all connections to the local host involving a port, which can be
resolved to caic(ci). The important connections are ESTABLISHED and
LISTEN. If the latter is present, you know that the kernel accepts connections
on behalf of the ccirmtd process. This means that a remote host attempting to
connect to this host should get the TCP/IP connected state. Established
connections are important because we know that CCI transactions may not
transpire between the hosts in question if a TCP/IP Established connection
does not exist.
where the local host listed to the left of the remote host. One side will always
have a port that resolves to caicci and the other side will have a numeric
port. The latter side is that which initiated the connection.
Sometimes netstat –a does not return or may take a long time to return with
very little information. This is usually indicative of name resolution
problems. You can issue:
netstat –an | grep 1721
■ netstat –i
Shows information about the network interfaces on the local hosts. You can
use the netstat –i command to determine if the host has more than one
network card and determine the host names or IP addresses of these cards.
The netstat –i command also provides valuable statistics about network
collisions. A collision occurs when two hosts simultaneously attempt to send
on an ethernet. The important thing to look for is high ratio of outgoing or
incoming packets to collisions.
ping
The ping command allows you to establish that a remote host can be reached. It
is important to ping by IP address as well as host name. If you cannot ping a
host, CCI cannot establish a connection to that host.
nslookup
The nslookup command allows you to be sure that the name of the host to which
you wish to connect, as well as the IP address, is resolvable. If there is a question
as to the integrity of the DNS environment, you can use nslookup to verify the IP
address of the host to which you need to communicate. You then enter the IP
address back into nslookup and verify that the same host name is returned.
Verify the IP address and host name for both hosts.
The traceroute command on UNIX and the tracert command on Windows allow
you to determine the route taken between two hosts. If a client cannot ping a
host, this command may show where the network path is failing.
ccinet
■ ccinet ping
Can be used to send a special CCI test packet across the CCI connection. This
does not use the native ping command nor does it operate in quite the same
way.
■ ccinet status
■ ccir/ccis/ccic/ccii
ccicntrl
This is used to stop or start the CCI services. The specific services are:
■ tpd: Transport
■ nrs: NR-Server
■ nrc: NR-Client
■ rmt: Remote
This removes the specified service. This does not imply that the binary is
affected in any way; rather, the process is no longer available as a service.
This command installs the specified service. Path is the directory in which the
executable resides.
ccicntrl status
Displays the status of the CCI services. The valid states are:
■ STOPPED
■ STARTED
■ START PENDING
■ STOP PENDING
rmtcntrl
rmtcntrl status
Starts and stops remote service tracing. A unitrace window should have been
open prior to issuing this command.
rmtcntrl hats
rmtcntrl rrt
Note: rmtcntrl hats and rmtcntrl rrt are equivalent to ccinet show.
Sends a CCI test packet to the remote host specified and displays the round trip
time.
The remote service disconnects and reconnects to all of the remote hosts to which
it is connected or to the specified host.
The remote service will disconnect from the remote host specified. Neither side
will attempt to reconnect.
rmtcntrl release
General Debugging
C
To better monitor the behavior of the Unicenter AutoSys JM product and to
facilitate in identifying problems while troubleshooting, a Unicenter AutoSys JM
environment variable has been introduced called ISDBGACTIV. (For UNIX,
ISDBGACTIV is an OS environment variable. For Windows it is a registry key).
The environment variable must be set prior to initiating the product. Upon
startup, the traceable applications will look for the set value of the ISDBGACTIV
environment variable and will output certain trace messages given the value
assigned. In UNIX, the ISDBGACTIV environment variable can be set as any
other environment variable using either the setenv or export command
depending on the UNIX operating system used. In Windows, the ISDBGACTIV
environment variable must be set using the Administrator Tool through the
System Environment Variable screen.
Values
The following is a description of how the products interpret the ISDBGACTIV
values:
ISDBGACTIV Value ID Description
1 DBG Generic Debug Status Information
The products that generate trace messages are the Event Processor, the AutoSys
Broker, the AutoSys Broker CCI Send and Receive Objects, and the Remote
Agent. Each of these products generate their own log files under normal
circumstances located in the $AUTOSERV/autouser/out directory. Any trace
messages will be added to these log files at various places as the products
encounter them.
Unicenter Integration
D
Important! The information contained in this appendix pertains to Window
users only.
[4] Exit
2. Select option 1.
When the autosys_wv utility is first executed, it creates the AutoSys class
and a Unicenter AutoSys JM instance. The instance is created as an object of
the Unicenter AutoSys JM class. The new object is created only if the instance
is installed and the object does not exist in the repository.
When the autosys_wv utility is started the repository selection box appears.
5. Sign on.
Once you sign on, you are connected to the repository to perform operations.
The default user ID is “sa” with no password.
Example:
[4] Exit
> 1
[4] Exit
> 1
[4] Exit.
> 3
7. Start the 2D map to view these two Unicenter AutoSys JM instances and will
launch the AutoSys applications.
2. Select the instance, from the drop-down list, whose events you want to
publish to the Unicenter Console. Click OK.
Events are sent to the Event Management Console based on the value set in
the “Unicenter Events” edit box, in the event processor screen.
The valid values for the Unicenter Events edit box are:
4. Enter the integer value (0–3) that corresponds to the desired message level in
the Unicenter Events edit box.
This field is located in the lower-right corner of the event processor screen.
Note: To modify the settings on this screen, you must have privileges in the
Windows Administrators group.
Important! The event processor only reads the settings in the Unicenter AutoSys
JM Administrator on startup. Therefore, if you make a change that you want to
implement immediately, you must stop the event processor using the sendevent
-E STOP_DEMON command, then restart the event processor using the
Administrator Services screen (as described in the chapter “Administrator” of
the Unicenter AutoSys Job Management for Windows User Guide).
For detailed information about using Unicenter, see the WorldView Help.
2. In the Framework Managed Objects program window, you will see the new
icon for the Unicenter AutoSys JM instance.
b. Click Windows.
c. Click Events.
Unicenter AutoSys JM events will now display on the console, based on the
level set in the Unicenter AutoSys JM Administrator, event processor,
Unicenter Events edit box.
[4] Exit.
2. Select 2 to delete an instance from the CORe and enter the name of the
instance you want to delete.
If this is the last instance in the repository being deleted when you select
option 2, the AutoSys class is deleted.
1] Add Instance
[4] Exit
> 4
Index–1
report software requirements, A–4
after_time, 13–15 support, A–1
currun, 13–15
AutoSys Connect and AutoSys Agent support, A–1
starting conditions, 3–21
unsupported, A–22 AutoSys Console Utilities, AutoSys Administrator,
15–1
Attributes
Date and Time, 4–27 AutoSys Event Servers, 15–12
Index–3
event processor, 1–6 Database Mainteneance Command, 15–22
event server, 1–5
database overview, 14–19
remote agent, 1–7
databases
conditions, starting, 3–21
handling errors, 14–32
config.EXTERNAL, creating the file, A–6 synchronizing, 14–28
synchronizing Microsoft SQL, 14–31
configure the AutoSys Machine, A–5
synchronizing oracle, 14–31
contacting technical support, 1–16 synchronizing sybase, 14–30
Index–5
monitoring, 14–3 Example
Multiple EP Restart, 15–33 Remote Authentication, 15–47
Options, 15–31
examples
Append stdout/stderr, 15–32
calendar rescheduling rule, 9–23
Chase On Startup, 15–31
job dependencies, 3–26
Clean Temporary Files, 15–31
monitor/report definition, 13–7
Event Serialization, 15–33
monitors, defining in JIL, 13–18
Global Auto Hold, 15–31
reports, defining in JIL, 13–18
Remote Profile Logging, 15–32
system architecture, 1–8
restarting, 14–45
restoring primary, 14–9 exclusive condition, 3–27
running in test mode, 14–12
exec superuser, 2–15
See also event_demon, 1–6
shadow rollover, 14–8 Exec Superuser, 2–15
starting, 14–1, A–8 execute permissions, 2–11
global mode, 14–5
status, 16–10 exit codes
stoping, 14–7 batch files, with, 3–29
stopping, 14–44, A–5 FALSE.EXE, 3–30
troubleshooting, 16–9 job dependencies, 3–28
maximum for success, 3–23
Event Processor Defined, 15–18
exporting calendars, 9–28, 14–16
Event Processor Screen, 15–19
JIL
high availability Command Job
dual event servers, 1–5 File Watcher, 8–6
shadow event processor, 1–6
JIL
Command Job
Dependent Command Job, 8–7
JIL
Index–7
Creating a Box, 8–9 Job Attributes
Optional
JIL
Command, 4–18
Changing a Job, 8–10
Job Attributes
JIL
Optional
Deleting a Job, 8–12
File Watcher, 4–25
JIL
Job Attributes
Job Overrides, 8–13
Optional
JIL Box Job, 4–26
Example Script, 8–15
Job Attributes and Definitions, 4–1
Job
Job Attributes and Load Balancing and Queuing, 10–
Box, 8–9
4
Changing, 8–10
Creating Simple Command, 8–5 Job Definition Reference List, 9–7
Deleting, 8–12
Job Dependencies dialog, 11–18
Deleting Box, 8–12
Dependent Command, 8–7 Job Detail Report, 11–32
File Watcher, 8–6
Job Editor, 6–4, 7–1
Overrides, 8–13
creating Box Jobs, 7–14
Running JIL, 8–5
creating Command Jobs, 7–8
Setting Overrides, 8–14
creating File Watcher Jobs, 7–10
Submitting Defenitions, 8–4
creating jobs with dependencies, 7–12
Time Dependencies, 8–11
deleting definition, 7–4
Job Attributes, 4–1, 4–4 deleting jobs, 7–24
menu bar, 7–3
Job Attributes
modifying job definitions, 7–16
Common to All Job Types, 4–4
one-time overrides, 7–26
Job Attributes opening definitions, 7–3
Common, 4–5 opening new job, 7–3
Owner field, 7–9
Job Attributes
saving job as, 7–4
File Watcher, 4–8
saving jobs, 7–3
Job Attributes setting days to run, 7–22
Box, 4–8 setting time dependencies, 7–18
Index–9
K restoring definitions, 14–18
Microsoft SQL
limitations, cross-platform, A–23 synchronizing databases, 14–31
load balancing, 10–11 Microsoft SQL Server, 16–2, 16–17
Load Units and Virtual machines, 10–18 Monitor/Browser Editor, 6–4, 13–1
Local Agent Logging Directory, 15–10 Alarm field, 13–12
Alarm Verification Required field, 13–14
log, A–20
All Change Status Events field, 13–12
log files, remote agent, 16–21 All Events field, 13–11
Current Run Only field, 13–15
Events After Date/Time field, 13–15
M Job Filter field, 13–13
naming, 13–5
Sound field, 13–14
machine
backing up definitions, 14–17 monitors, 13–1
client, 1–10 about, 13–2
permissions alarm_verif, 13–14
edit and execute, 2–12 backing up definitions, 14–17
restoring definitions from backup file, 14–18 defined, 13–1
saving definitions to backup file, 14–17 defining, 13–7, 13–17, 13–18
server, 1–10 restoring definitions from backup file, 14–18
sound, 13–14
Machine Definitions, 10–6
Multiple EP Restart, 15–33
Machine Method, 15–27
Multiple Machine Queues, 10–18
maintenace
chase, 14–14
commands, 14–14
N
maintenance
backing up definitions
names, A–17
calendar definitions, 14–16
global variables, 14–17 naming conventions, A–15
job definitions, 14–16
Network Machine List, 15–21
machine definitions, 14–17
monitor and browser definitions, 14–17 Notification Mechanism, 15–35
clean_files, 14–15
ON_HOLD, 3–14
Index–11
troubleshooting, 16–15 restricting access to jobs, 2–16
user authentication, 2–8
Rule Specification region, 9–18
Remote Agent screen
Run MonBro button, 13–6
defining configuration parameters, 15–10
run number, 3–31
remote authentication
Event Processor, 2–9 Run Status Tool, 11–20
user, 2–8 Command field, 11–22
Description field, 11–22
Remote Authentication, 15–46
End Time field, 11–22
Remote Profile Logging, 15–32 Exit Code field, 11–22
Instance field, 11–22
reports
Job Name field, 11–22
naming, 13–5
Next Start field, 11–23
reports, 13–1 Predecessor and Successor Jobs fields, 11–23
about, 13–3 Priority field, 11–23
defined, 13–1 Queue Name field, 11–23
Run Machine field, 11–22
reports
Run Time field, 11–22
defining, 13–7
Start Time field, 11–22
reports Starting Conditions field, 11–22
defining, 13–9 Status field, 11–23
reports Try Count field, 11–22
all_status, 13–12 run_num/ntry
reports defined, 3–32
defining, 13–17 RUNNING status, 3–13
reports ruserok, 2–8
defining, 13–18
Index–13
sendevent command, 2–15 SUCCESS, 3–13
TERMINATED, 3–14
server instance, 1–5
tracking changes, 13–12
server machine, 1–10 monitor/report
failure, 13–12
Services Screen
restart, 13–12
Components, 15–52
running, 13–12
Defined, 15–50
starting, 13–12
SET_GLOBAL, 11–28 success, 13–12
shadow event processor terminated, 13–12
defined, 1–6 processed vs. unprocessed, 3–18
using in job dependencies, 3–21
Shadow Machine, 15–20
STOP_DEMON, 11–26
Shadow Ping Delay, 15–23
Subsets—Individual queues, 10–17
sound monitor attribute, 13–14
success
Sounds Screen, 15–43 maximum exit code, 3–23
Configuration Parameters, 15–44
SUCCESS status, 3–13
specifying machine load, 10–3
Summary Area Layout Dialog, 11–39
Specifying Relative Process Power, 10–4
superusers, 2–14
Spring Time Change, 4–29, 4–31 Edit Superuser
starting conditions, 3–19, 3–21 defined, 2–14
exec superuser
STARTING status, 3–13
defined, 2–15
STARTJOB, 11–3, 11–26, 11–43
sybase
Startjob Poll Interval, 15–27 accessing, 14–39
architecture, 14–35
states
backing up to a file, 14–43
job, 3–13
bundeled backup, 14–41
See also status, 3–13
bundeled recovery, 14–41
status bundled database users, 14–36
job changing system administrator password, 14–37
ACTIVATED, 3–13 configuring a backup server, 14–42
as job dependency, 3–22 default user, 14–36
FAILURE, 3–14 dropping a damaged database, 14–44
INACTIVE, 3–13 environment, 14–35
ON_HOLD, 3–14 improving database performance, 14–33
ON_ICE, 3–15 maintaining bundled SQL servers, 14–35
QUE_WAIT, 3–14 recovering a bundled database, 14–43
RESTART, 3–14 re-creating the database, 14–44
RUNNING, 3–13 reloading the database, 14–45
STARTING, 3–13 starting, 14–37
Index–15
DB-ROLLOVER, 15–37 user types
EDErrTimeInt, 15–25 group, 2–11
EDMachine, 15–21 owner, 2–11
EDNumErrors, 15–26 world, 2–11
EP_HIGH_AVAIL, 15–38
Using
EP_ROLLOVER, 15–37
Services Screen, 15–53
EP_SHUTDOWN, 15–37
EventServer, 15–14 using max_load and factor, 10–5
EvtTransferWaitTime, 15–25
utilities
FileSystemThreshold, 15–24
provided with AutoSys, 1–12
KillSignals, 15–29
MachineMethod, 15–27
MaxRestartTrys, 15–28
V
MaxRestartWait, 15–28
RemoteProFiles, 15–32
RestartConstant, 15–30 virtual machines, 10–2
RestartFactor, 15–29
ThirdMachine, 15–21
XInstanceDBDropTimer, 15–27 W
unsupported attributes, A–22
Windows NT
User Defined Buttons dialog, 11–36 job permissions on, 2–13
User Defined Load Balancing, 10–19