A simple, expressive, open-source, text-file-based Job Scheduler with console, HTTP, and RESTful API interfaces.
  1. Downloading TaskForest
  2. Installing TaskForest
  3. Configuring TaskForest
    1. Jobs & Families
    2. Calendars
    3. Automatic Retries
    4. Sending Emails
    5. Options
    6. Configuration File
  4. Running TaskForest
  5. Running the TaskForest Web Server
  6. Web Server Security
  7. Checking TaskForest Status
  8. Rerunning a Job
  9. Marking a Job
  10. Tokens
  11. Releasing all Dependencies from a Job
  12. Putting a Job on Hold
  13. Releasing a Hold Off a Job
  14. HOWTO
  15. The RESTful Web Service
  16. Frequently Asked Questions (FAQ)
  17. Bugs
  18. Change Log
  19. Author
  20. Acknowledgements
  21. Copyright

Running TaskForest

To run the taskforest you must let it know where it can find the necessary files and directories. This can be done by environment variables, via the command line, or via the configuration file:

export TF_JOB_DIR=/foo/jobs
export TF_LOG_DIR=/foo/logs
export TF_FAMILY_DIR=/foo/families
export TF_RUN_WRAPPER=/foo/bin/run_with_log


taskforest --run_wrapper=/foo/bin/run_with_log \
 --log_dir=/foo/logs \
 --job_dir=/foo/jobs \


taskforest --config_file=/foo/config/taskforest.cfg

By default, the program will run the same code in a loop continuously until 23:55 (11:55 pm). At the end of each iteration of the loop it will wait for 60 seconds (by default) before starting the next iteration of the loop. Within each loop, the program will do the following:

If taskforest is run with the --once_only option, then the main loop will be executed once and then program will terminate immediately, instead of waiting until 23:55.

All jobs will run as the user who invoked taskforest.