Pueue
Pueue is a command line task manager which queues processes for sequential or parallel execution.
Project website: https://github.com/nukesor/pueue
Installation
Download the pueue and pueued binaries from their project website on GitHub. Run pueued -d to start the daemon. The first time you run the pueue daemon will also generate the pueue config at ~/.config/pueue/pueue.yml.
Usage
The pueue command will print out its usage in good detail, but here's a quick cheat sheet covering only the very basics.
| Action | Command |
|---|---|
| Show queue status | pueue status
|
| Enqueue a job
The command can be a inline script (in single quotes) |
pueue add command
|
| Follow a job's output, defaults to stdout.
use |
pueue follow job-id
|
| Stop a running job | pueue kill job-id
|
| Remove a queued job | pueue remove job-id
|
| Show jobs | pueue log
|
| Parallelize with 2 jobs | pueue parallel 2
|
| Removed finish tasks and clear log | pueue clean
|
Troubleshooting
Failed to initialize client
After running pueued as a systemd service, pueue fails with the following message:
# pueue
Error: Failed to initialize client.
Caused by:
0: Failed to initialize stream.
1: I/O error at path "/run/user/0/pueue_root.socket" while connecting to daemon. Did you start it?:
No such file or directory (os error 2)
To fix this, just edit the pueue configuration file and define the location of the socket.
- Edit
$HOME/.config/pueue/pueue.yml - Under the 'shared' key, define something like:
unix_socket_path: /root/.local/share/pueue/pueue_root.socket