Task spooler is a Unix batch system where the tasks spooled run one
after the other. The amount of jobs to run at once can be set at any
time. Each user in each system has his own job queue. The tasks are
run in the correct context (that of enqueue) from any shell/process,
and its output/results can be easily watched. It is very useful when
you know that your commands depend on a lot of RAM, a lot of disk use,
give a lot of output, or for whatever reason it's better not to run
them all at the same time, while you want to keep your resources busy
for maximum benfit. Its interface allows using it easily in scripts.
Features
Task Spooler allows one to:
* Queue jobs from different terminals.
* Use it locally in the machine (not as in network queues).
* Have a good way of seeing the output of the processes (tail,
errorlevels, ...).
* Easy use: almost no configuration.
* Easy to use in scripts.
At the end, after some time using and developing ts, it can do something
more:
* It works on GNU systems with the GNU C compiler (Linux, Darwin,
Cygwin, FreeBSD, etc).
* No configuration at all for a simple queue.
* Good integration with renice, kill, etc. (through `ts -p` and process
groups).
* Have any amount of queues identified by name, writting a simple
wrapper script for each (I use ts2, tsio, tsprint, etc).
* Control how many jobs may run at once in any queue (taking profit of
multicores).
* It never removes the result files, so they can be reached even after
we've lost the ts task list.
* Transparent if used as a subprogram with -nf.