2 个稳定版本
1.1.0 | 2023年9月12日 |
---|---|
1.0.0 | 2023年9月11日 |
#1170 in 数据库接口
130KB
2.5K SLoC
rsrq
Rust Redis queue
rsrq 是一个由 Rust 编写,受 RQ 启发的最小化Redis支持的队列系统。
概述
- 队列通过包含要执行命令的文本文件来填充(每行一个命令)。
- 可以并行启动工作者以各种模式处理队列。
- 与 Snakemake 集群配置的原生集成。
欢迎反馈和贡献!
⚙ 安装
需要 Rust 1.70+
# Crates.io
cargo install rsrq
# or...
# Bioconda
conda install -c conda-forge -c bioconda rsrq
如果安装后找不到命令 rsrq
,请按照以下说明操作。
🖥 CLI 使用
这不是命令的完整列表,可以通过运行 rsrq --help
命令来查看帮助。
# Export the Redis connection string
export REDIS_URL=redis://:your-password@your-endpoint-url
# Enqueue commands in "/tmp/cmds.txt" to the "test" queue.
rsrq enqueue test /tmp/cmds.txt
# Spawn 10 workers to process the "test" queue.
rsrq worker test --workers 10
# Check the status
rsrq status
# Purge all information from the redis database
rsrq purge all
🐍 Snakemake
在使用 Snakemake 集成时,需要创建一个集群配置文件来映射 submit
、status
和 cancel
的命令。您负责启动将处理队列的工作者。
# Export the Snakemake profile
rsrq snakemake config /path/to/directory
# Export the Redis connection string
export REDIS_URL=redis://:your-password@your-endpoint-url
# Run snakemake with the cluster profile
snakemake --profile /path/to/directory
您可以使用 resources.queue
属性为每个规则指定一个队列。如果没有提供,则使用 default
,例如。
rule foo:
resources:
queue='something'
注意:工作者不会检查服务器的CPU/内存使用情况,完全由用户决定可以同时运行多少个工作者。
依赖关系
~13–27MB
~413K SLoC