[Home] [Index] [Previous] [Next]


Let's see what Oddjob can do.

In addition to these examples, there are also many examples from the Reference, this User Guide, and the Developer Guide in the examples directory

Hello World

All examples should begin with the simplest example possible and here it is!

Hello World

Execute a batch file

This example demonstrates executing a batch file from Oddjob and introduces us to using sequences of jobs and variables.

The example consists of a sequence of two jobs. The first sets a variable, the second executes the batch file with the variable value passed in as an argument.

Exec Example

Conditional Paths

An 'if' job uses the return state of one job to decide which of a number of alternate job branches to execute.

This job uses a random task to simulate jobs executing with mixed results. The example is run in a timer loop to continually show the flow of events.

Hello World

A Scheduling Example

This is a demonstration of the flexible scheduling features of Oddjob.

A file Producer creates a file with a unique sequence number every 5 minutes. The example is run with a persister so that the producer state will be saved after each run. This means that if the producer is stopped or crashes, it will pick up where it left off. The producer also runs with a nested Archiver job which records the state and properties of each run.

The Consumer Repeat is a timer that continually schedules a another timer, Retry, that looks for files to process every 2 minutes. It also starts a third timer, Alert Timer, which after 10 minutes will send a mail warning of missing files. If files are found Alert Timer is stopped and reset, and Retry completes. When its two child Timers complete, Consumer Repeat will reschedule the sequence to start again in 30 seconds. Nesting timers like this in Oddjob allows large number of scheduling scenarios to be met.

Note that to actually send a mail the mail server properties will need to be set via System properties on the command line or in an oddjob.properties file in the users home directory.


An Archive job captures the results of producer each run. A folder contains Archive Browser jobs that allow the results of previous runs to be viewed.

Distributed Scheduling

Demonstrates how Oddjob could be used to schedule jobs over different servers. The three nested Oddjobs - Worker 1, 2 and 3 would be identical job configurations on three different servers. They use a central database to coordinate grabbing for work.

The Distributing Work section of this user guide has another simple example of this.

Sharing Jobs on A Network

This example shows how an Oddjob client can be used to monitor Oddjob running on a remote server.

Sharing Oddjob

Although here we have the client and server running in the same folder.

If this example doesn't work it might be because your machine doesn't recognise localhost. When you've learnt about configuring Oddjob come back and try changing the client and server configurations to contain your network name or IP address.

To see the examples really working across the network change the client configuration from localhost to the name or IP address of your server and run the client example on a different machine.

[Home] [Index] [Previous] [Next]