[kwlug-disc] command line fans: task-spooler

Jason Eckert jason.eckert at gmail.com
Sun Feb 9 19:09:24 EST 2020


This is great! I will make excellent use of this, I just know it.
I'm going to share this with my students and fellow teachers!

On Sat, Feb 8, 2020 at 1:50 AM Chris Frey <cdfrey at foursquare.net> wrote:

> I've been wanting a tool like this for so long, that when I found it
> recently, I felt I had to share it.
>
> On Debian systems it is packaged as task-spooler, as command line 'tsp'.
>
> Have multiple long running processes you want to throw in the background,
> but run them sequentially so they don't overload your system?
>
>         $ cd project1
>         $ tsp make
>         $ cd ~/project2
>         $ tsp make
>         $ cd ~/project3
>         $ tsp build-docker-image.sh
>
> Using tsp by itself gives you a summary of what's going on (contrived
> example using sleep):
>
>         $ tsp
>         ID   State      Output               E-Level  Times(r/u/s)
>  Command [run=1/1]
>         0    running    /tmp/ts-out.uhS6Kv                           sleep
> 3m
>         1    queued     (file)                                       sleep
> 4m
>         2    queued     (file)                                       sleep
> 2m
>
> Want to watch the output for a while on the running process?  Here's tail
> -f
> style behaviour on task 0:
>
>         $ tsp -t 0
>
> The whole log?
>
>         $ tsp -c 0 |less
>
> Want to kill it?
>
>         $ tsp -k 0
>
> What if you have a beefier system than most and want to have multiple
> running slots?   4 CPUs?  Let's open 3 slots:
>
>         $ tsp -S 3
>
> Now 3 tasks can run at once.
>
> Want to have different queues for different purposes?
>
>         $ alias tsdisk='TS_SOCKET=/tmp/socket.disk tsp'
>         $ alias tsram='TS_SOCKET=/tmp/socket.ram tsp'
>         $ alias tsnet='TS_SOCKET=/tmp/socket.net tsp'
>
>         $ tsdisk qemu-img convert -c ....
>         $ tsnet scp backup.tar host:/var/backups/
>         $ tsnet wget https://videohouse.example.com/movie.mp4
>
> Need notification something finished?
>
>         $ (tsp -w 4 ; xmessage qemu-img convert complete) &
>
> Have an urgent task that needs to go to the head of the line?
>
>         $ tsp make      # job 5
>         # later...
>         $ tsp -u 5      # head of the queue
>
> Need to chain commands based on success?
>
>         $ tsp /usr/local/bin/run-backups.sh       # job 2
>         $ tsp -D 2 scp /var/backups/today.tar.gz host:/var/backups
>
> It's a beautiful thing! :-)
>
> - Chris
>
>
> _______________________________________________
> kwlug-disc mailing list
> kwlug-disc at kwlug.org
> https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://kwlug.org/pipermail/kwlug-disc_kwlug.org/attachments/20200209/a3ad4bc8/attachment.htm>


More information about the kwlug-disc mailing list