## Features to be implemented Doubtful tasks: - Allow the 'only-tail' output, without any storage. The number of lines or bytes should be choosable. - No program should give that big amount of output, so it cannot be stored. - What happens if the output disk is full? Should be decide a good behaviour in that situation? - It's up to the running program; ts gives the descsriptor to it. Future: - Use a better system than mkstemp() for finding output files, so we can add .gz to the gzipped outputs. v1.0.3: - Fix crash using -E, buffer overrun v1.0.2: - Fix race at server start v1.0.1: - Fix possible buffer overflow (Alexander Inyukhin) v1.0: - Respect TMPDIR for output files. v0.7.6: - Add -k (send SIGTERM to process group). Replacement for "kill -- -`ts -p`". v0.7.4: - Fixing a bug about dangling processes, in case of using "ts -r". v0.7.3: - Add option '-N' to set the number of slots required for a job to run. Proposed by Sergey Litvinov. v0.7.2: - Add option '-E', to keep stderr apart. It goes to "`ts -o`.e". v0.7.1: - Implement check of ownership of the socket. Security bugfix. v0.7.0: - Implement blocking of enqueuing still allowing other queue operations. - Add the -B parameter, that will not block in case of queue full v0.6.6: - Fixed the feature TS_MAXCONN, which collided with the protocol version check. v0.6.5: - Fixed a problem that -c and -t, if their pipe was broken, they remained. - Fixed a problem (maybe some copypaste once?) on -l, that created always an error msg. - Adding the possibility of limiting the amount of ts connections. v0.6.4: - Fixed a bug breaking -c and -t. v0.6.3: - Fixed a bug on -c and -t. - Adding first support for -D (run depending on any job) - Adding version control on the protocol. - Making the ts server chdir to the socket directory, so it doesn't annoy on umounting. v0.6.2: - Fixed a bug on -w - Making -S return the number of slots - Fixed a bug on clients dying (making the queue not usable anymore) - Making an error file different for each socket ($TS_SOCKET.error) - Making ts not to log on the error log file constantly. - Adding information on the exit status in -i v0.6.1: - Adding support for the TS_SLOTS env variable, to set the number of slots of a starting server. - Removing references to /usr for nix. - Bugfixing (fixed error handling, -m) v0.6: - Adding multi-slot running capabilities. Big changes in the job management. - Bugfixing (-t, -c and -r, mostly) v0.5.4.1: - Moving out 'debian', so the Debian packagers can use their systems comfortably when packaging ts. v0.5.4: - Bug fixing (-t, actions to last job ids, -w, ...) - -c waits for the job end. Like -t, but it shows the whole output. v0.5.3: - Fixed: Only one waiting ts process ('-w' and '-t') could be used for each jobid. Now, many. v0.5.2: - Fixed the '-r' without jobid, which should remove the last added job. - Fixed some messages for '-t' without jobid (it said something about job -1). v0.5.1: - Fixed the new '-t', which had several problems v0.5: - Several bug fixes (related to -w, -r and -L) - ts creates sessions, so "kill -- -`ts -p`" can be used - New implementation for '-t', which exits when finished, similar to '-w' v0.4.2: - Added labels with -L, in order to distingish commands better on queue list. - Added per-job information, readable through -i, configurable through TS_ENV - Added dependant enqueuing (-d). Conditional run based on last job result. v0.4.1: -* Bugfix: removing a job now doesn't leave the job's ts client alive -* Bugfix: killing the running job's ts client now doesn't block the queue forever -* Bugfix: now using setsid() in order to unlink ts from the bash session. v0.4: -* Allow killing 'ts' in a nice way. - It's good, because a spawner of 'ts' may want to kill it. -* If the server is horribly killed (it may happen as this is software), store the task queue in a file, so it can be recovered. -* Store the 'times()' for the run tasks. v0.3.2: -* Fixed the $POSIXLY_CORRECT bug finally -* Slightly better makefile and man page -* The server should never run out of handles - simply block the client -* Added an error reporting system (in ts(1) - BUGS) -* SIGPIPE is ignored in the ts processes v0.3.1: -* Fixed a bug with $POSIXLY_CORRECT being passed to the jobs. This break the gentoo emerge jobs. -* Fixed a posix compatibility problem for BSD. -* Fixed - the fd 3 is no more opened for the task processes. -* Added a man page and fixed the makefile. v0.3: -* Allow sending the output by mail, or passing it to a program if an env var defines it. -* Allow gzipping the output -* Add a flag for swapping two jobs in the queue (-U id-id) -* Limit the jobs in 'finished' state according to $TS_MAXFINISHED -* Output the jobid in stdout. -* Status check with -s. Return the state in stdout. -* An env var may define the socket path. -* bash is no more used for running commands. Commands are run as is. v0.2.3: -* '-nf' doesn't leave the job in 'finished' state -* Fixed a bug in -r -* '-u' implemented. For altering the queue order. -* '-w' returns the waited errorlevel -* '-o' returns the output file of the last job v0.2.1: -* Fixed a bug in the wait-notifications. -* Improved the compilation, including almost all the proper files. v0.2: -* Add a '-h' for help -* Have a nice list output (correctly formatted) -* Allow killing the running job (Allowed with -p easily) -* Allow tailing any job -* Allow removing a job from the queue -* Allow waiting any job v0.1: -* The clients should _always_ go into background. * -* Allow to receive more parameters in the command line, and them be joined with spaces for the command passed to bash. -* There should be no limit on command line parameters. -* There should be no limit on lines outputed by "-l". -* Get the list of finished jobs, with its errorlevel. -* The list of finished jobs should be clenead on demmand "-c". -* Output to a file should be possible. Use mkstemp(). -* There should be no limit on output filename. v0.0.1: -* add tasks, and they run one after another. Input closed. Output in stdout.