homecontact us

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.