Rust Redis queue
rsrq is a minimal Redis-backed queue system written in Rust and inspired by RQ.
Overview:
Feedback and contributions are welcome!
Requires Rust 1.70+
```shell
cargo install rsrq
conda install -c conda-forge -c bioconda rsrq ```
If the command rsrq
cannot be found after installation, follow these details.
This is not an exhaustive list of commands, help can be viewed by running the rsrq --help
command.
```shell
export REDIS_URL=redis://:your-password@your-endpoint-url
rsrq enqueue test /tmp/cmds.txt
rsrq worker test --workers 10
rsrq status
rsrq purge all ```
When using Snakemake integration, a cluster profile will need to be created to map the commands for submit
, status
, and cancel
. You are responsible for starting workers that will process the queue(s).
```shell
rsrq snakemake config /path/to/directory
export REDIS_URL=redis://:your-password@your-endpoint-url
snakemake --profile /path/to/directory ```
You can specify a queue for each rule using the resources.queue
attribute. If none is provided default
will be used, e.g.:
Snakefile
rule foo:
resources:
queue='something'
Note: Workers do not check the CPU/memory usage of the server, it's entirely up to the user to decide how many workers can run concurrently.