Take the 2-minute tour ×

I'm looking for a lightweight task queue manager for linux. The way I see it, different processes should be submitting task to the queue, the queue manager would execute them one by one in order of submission.

Is there any software that does that. I've looked at celery and geaman, but they are too heavy for the task I'm at.

share|improve this question
Did you find a proper solution for your use case? –  mdo Jul 4 '13 at 11:32

2 Answers 2

batch executes commands when system load levels permit.

Maybe "at" can solve your requirement already?

share|improve this answer
I'm not sure. At could queue tasks so that the next one starts executing when the previous is finished? –  facha Jun 28 '13 at 10:40
With the at implementation in Debian/Ubuntu it defaults to running one job every minute via atd (can be configured via switch -b, the batch interval). When I fire in a couple of dozen jobs via batch they run in correct order. But there's no waiting for the previous job to be finished. So with the interval you choose you would have to take into account the runtime of your jobs. –  mdo Jun 28 '13 at 11:41
You can check the output of this: for i in $(seq 1 1 3); do echo "echo $i \$(date)>> /tmp/atqueue ; sleep 120 ; echo $i 2nd \$(date)>> /tmp/atqueue "|batch; done –  mdo Jun 28 '13 at 11:43

Previously I used the Berkely lpd for this (before cups, it was the default printing system for Linux). Although the queue management is implemented as a compiled daemon, the printer interface is a simple shell script (usually a wrapper around ghostview).

It's very stable and provides tools for managing the queue(s).

share|improve this answer

Your Answer


