2 个稳定版本

1.1.0 2023年9月12日
1.0.0 2023年9月11日

#1170 in 数据库接口

GPL-3.0 许可证

130KB
2.5K SLoC

rsrq

Rust Redis queue

BioConda Crates

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 集成时,需要创建一个集群配置文件来映射 submitstatuscancel 的命令。您负责启动将处理队列的工作者。

# 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