web/index.html
changeset 140 0b99d94818d1
child 143 827a65080ed6
equal deleted inserted replaced
139:e5c0fccdb233 140:0b99d94818d1
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
       
     2 <html lang="en">
       
     3 <head>
       
     4 	<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
       
     5 	<title>Task Spooler - batch is back!</title>
       
     6 </head>
       
     7 
       
     8 <body>
       
     9 <h1>Task Spooler</h1>
       
    10 
       
    11 <p>I wrote <em>Task Spooler</em> because I didn't have any comfortable way of
       
    12 running batch jobs in my linux computer. I wanted to:</p>
       
    13 <ul>
       
    14 <li>Queue jobs from different terminals.
       
    15 <li>Use it locally in my machine (not as in network queues).
       
    16 <li>Have a good way of seeing the output of the processes (tail, errorlevels,
       
    17 ...).
       
    18 <li>Easy use: almost no configuration.
       
    19 <li>Easy to use in scripts.
       
    20 </ul>
       
    21 
       
    22 <p>You can look at an old (but representative)
       
    23 <a href="ts-0.2.1.png">screenshot</a> if you want.</p>
       
    24 
       
    25 <h2>Mailing list</h2>
       
    26 
       
    27 <p>Alessandro Öhler prepared a mailing list for discuting newer functionalities
       
    28 and interchanging use experiences. You can look at the
       
    29 <a href="http://mail.linuxbox.eu.org/taskspooler/">archive</a> or
       
    30 <a href="mailto:taskspooler+subscribe@linuxbox.eu.org">subscribe</a>.
       
    31 </p>
       
    32 
       
    33 <h2>How it works</h2>
       
    34 
       
    35 <p>The queue is maintained by a server process. This server process is started
       
    36 if it isn't there already. The communication goes to a unix socket in
       
    37 <kbd>/tmp/</kbd>.</p>
       
    38 <p>When the user requests a job (using a ts client), the client waits for the
       
    39 server message to know when it can start. The client usually forks, but
       
    40 it will run the command with the proper environment, because
       
    41 <em>the client</em> will
       
    42 run the job (not the server, like in 'at' or 'cron'). So, the ulimits,
       
    43 environment, pwd,. apply.</p>
       
    44 <p>When the job finishes, the client notifies the server. At this time,
       
    45 the server may notify any <em>waiting</em> client, and stores the 
       
    46 output and the errorlevel of the finished job.</p>
       
    47 
       
    48 <h2>Download</h2>
       
    49 
       
    50 <p>Download the latest version (GPL licensed):
       
    51 <a href="ts-0.4.1.tar.gz">ts-0.4.1.tar.gz</a> - v0.4.1</p>
       
    52 
       
    53 <p>Look at the
       
    54 <a href="/~mercurial/cgi-bin/hgwebdir.cgi/ts">version repository</a> if you are
       
    55 interested in its development.</p>
       
    56 
       
    57 <p>Андрей Пантюхин (Andrew Pantyukhin) maintains the
       
    58 <a href="http://www.freshports.org/sysutils/ts">BSD port</a>.</p>
       
    59 
       
    60 <p>Alessandro Öhler provided a Gentoo
       
    61 <a href="ts-0.4.ebuild">ebuild for .10.4</a>.</p>
       
    62 
       
    63 <h2>Manual</h2>
       
    64 <p>Look at its <a href="man_ts.html">manpage</a> (v0.4).
       
    65 Here you also have a copy of the help for the same version:</p>
       
    66 <pre>
       
    67 usage: ts [action] [-n] [-f] [cmd...]
       
    68 Env vars:
       
    69   TS_SOCKET  the path to the unix socket used by the ts command
       
    70   TS_MAILTO  where to mail the result (on -m). Local user by default
       
    71   TS_MAXFINISHED  maximum finished jobs in the queue
       
    72   TS_ONFINISH  binary called on job end (passing jobid, error, outfile, command)
       
    73 Actions:
       
    74   -K       kill the task spooler server
       
    75   -C       clear the list of finished jobs
       
    76   -l       show the job list (default action)
       
    77   -t [id]  tail -f the output of the job. Last if not specified.
       
    78   -c [id]  cat the output of the job. Last if not specified.
       
    79   -p [id]  show the pid of the job. Last if not specified.
       
    80   -o [id]  show the output file. Of last job run, if not specified.
       
    81   -s [id]  show the job state. Of the last added, if not specified.
       
    82   -r [id]  remove a job. The last added, if not specified.
       
    83   -w [id]  wait for a job. The last added, if not specified.
       
    84   -u [id]  put that job first. The last added, if not specified.
       
    85   -U &lt;id-id&gt;  swap two jobs in the queue.
       
    86   -h       show this help
       
    87   -V       show the program version
       
    88 Options adding jobs:
       
    89   -n       don't store the output of the command.
       
    90   -g       gzip the stored output (if not -n).
       
    91   -f       don't fork into background.
       
    92   -m       send the output by e-mail (uses sendmail).
       
    93 </pre>
       
    94 
       
    95 <h2>Thanks</h2>
       
    96 <ul>
       
    97 <li>To Raúl Salinas, for his inspiring ideas
       
    98 <li>To Alessandro Öhler, the first non-acquaintance user, who proposed and
       
    99 created the mailing list.
       
   100 <li>Андрею Пантюхину, who created the <em>BSD port</em>.
       
   101 <li>To the useful, although sometimes uncomfortable, UNIX interface.
       
   102 <li>To GNU, an ugly but working and helpful ol' UNIX implementation.
       
   103 </ul>
       
   104 
       
   105 <address>Author:
       
   106 <a href="http://vicerveza.homeunix.net/~viric/">Lluís Batlle i Rossell</a>,
       
   107 viric_at_vicerveza_dot_homeunix_dot_net</address>
       
   108 </body>