TaskForest
A simple, expressive, open-source, text-file-based Job Scheduler with console, HTTP, and RESTful API interfaces.
Version 1.33 released on June 1, 2009
You can now have a job in one Family depend on the completion of a job in another Family. This allows you to have one Family depend on another.
For example, job J2 in Family F2 can wait on Job J1 in Family F1 by specifying the dependency like this:
# This is in the F2 Family file
J1::F1()
J2()
For more information, check out the jobs and families configuration documentation.
TaskForest - An Executive Summary
Taskforest is a simple but expressive open-source job scheduler that allows you to chain jobs/tasks and create time dependencies. It uses text config files to specify task dependencies.
With the TaskForest Job Scheduler you can:
- schedule jobs to run at predetermined times,
- have jobs be dependent on each other
- rerun failed jobs
- mark jobs as succeeded or failed
- check the status of all jobs scheduled to run today
- interact with the included web service using your own client code
- interact with the included web server using your default browser
- express the relationships between jobs using a simple text-based format (a big advantage if you like using 'grep')
- browse job log files using the included web server
Features Coming Soon
- Default Time Zone for Display
- This new configuration option will control how times are displayed in the 'logs' page, when the time zone in which the job ran is not known.
- Enhancements to the included web site
- We plan on adding contextual menus so that you can right-click on a job from the status screen and select one or more actions.
- Putting Jobs on Hold
- Prevent a job from running until you manually allow it to run.
- Simulator
- The simulator would show you how your jobs would run on dates that you specify, so that you can see what will happen rather than wait for the jobs to be run. You will also be able to change the exit codes of jobs, to see what would happen if a certain job failed.
- Multiple Hosts
- Specify which host on a network a job should run on, and what userid it should run as.