Features
Hierarchical organization
Jobs and jobsets (group of jobs) are organized in a multi-level
hierarchy where parameters are inherited from the parent jobsets.
By using these default inherited values, creating a new job is easy
and fast.
Also, changing a parameter for a group of jobs is a one step
operation: the parameter has to be changed only at the jobset
level.
Supported platforms
The Schedwi agent, which must be installed on all the hosts where
jobs have to be run, has been tested on more than 10 operating
systems. Compiling and installing it on other systems should not
be too hard.
Clusters
Clusters are a way to group agents together. Jobs and jobsets can
be associated with clusters rather than hosts. When a job starts,
Schedwi will pick one of the host in the cluster. The algorithm
used by Schedwi to select a host in the cluster is quite simple.
First, all non-responding hosts are skipped. Then, the host with
the least number of jobs running is chosen.
SSL authentication and encryption
Schedwi can use SSL (GNUTls) for the communication between the
server and the agents. When a connection is established a
mutual authentication takes place.
The communications are also encrypted.
Several trigger mechanisms
The start of a job can be triggered by date and time, by an
operator but also by other events like the presence of a file
on a remote host for instance. The chaining capability allows
jobs to be run in sequence. The link types can be used to start
a job when the linked job is in a certain state (completed or
failed for instance).
Environment variables
Environment variables can be associated with jobs but also with
hosts.
These variables are automatically set when the associated job is
started and can also be used to define some job attributes.
Environment variables associated with a host are set whenever a
job is started on it. This feature can be used to define variables
that must always be set for a task to run (like the
LD_LIBRAIRY_PATH variable on some operating systems).
Calendar language
Jobs and jobsets are associated with a calendar to specify on
which day they must run. Calendars can be defined by clicking
on the required days in the graphical calendar interface.
However, for more complex calendars, a powerful language is
provided.
Pre-defined calendars
Schedwi is provided out-of-the-box with the bank holidays and
special days of more than 80 countries around the world.
These calendars can be directly used or combined to define new
ones. They are also good examples of the calendar language syntax.
Time variations
The Schedwi server detects time variations like daylight-saving
changes. It ensures that no job will be started several times or
not at all.
Plug-ins
Schedwi server capabilities can be extended by plug-ins. For
instance, the provided "mod_shell" plug-in can be used to run a
script when the status of a job changes. Some scripts are also
provided to send e-mails, SNMP traps or Nagios alarms.
Free
Schedwi is free software and is available at no charge.