TaskForest
A simple, expressive, open-source, text-file-based Job Scheduler with console, HTTP, and RESTful API interfaces.
About
Why Text Files are a Good Idea
One of the initial design requirements of TaskForest was that it be easily configuriable with just a shell prompt and your favorite text editor. Many of the servers I administer are old boxes which I administer by logging into them via ssh
. So when it came to designing job dependencies in Family files, I chose a text file representation. The benefits of text files over a graphical user interface for this are many:
- Easy Remote Access - All you need is the ability to get to a command line and a text editor on the machine that runs
taskforest
. With the such low client access requirements, virtually any old machine that has internet access and anssh
client can be used to administer the system. I have often worked on ourtaskforestd
server from a local internet cafe using a Putty.exe downloaded minutes earlier. - Mobile Access - Text files also make work relatively easy using a mobile ssh client like Idokorro Mobile SSH. A dedicated mobile client would be ideal, but short of that, the text file approach assures low bandwidth usage and easy-to-make changes.
- Flexibility - The simple, easily parseable format of text files allows us to build richer clients later that would use a graphical interface to specify relationships between jobs.
- Source Control - The text based format makes it easy to place the Family files under source control. You can also easily
diff
different versions of the same family file. - Grep - When you have dozens of family files and hundreds of jobs, you may need to answer questions like: "Are we still running Job J1? It needs to be decommissioned." This can easily be answered by
grep
ping the Family files for job J1.