|
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 <id-id> 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> |