11个版本 (1个稳定版本)

1.0.0 2020年10月2日
0.2.9 2020年6月16日
0.2.8 2020年4月25日
0.2.7 2019年2月18日

#816 in 网络编程

Download history · Rust 包仓库 72/week @ 2024-03-11 · Rust 包仓库 81/week @ 2024-03-18 · Rust 包仓库 46/week @ 2024-03-25 · Rust 包仓库 48/week @ 2024-04-01 · Rust 包仓库 83/week @ 2024-04-08 · Rust 包仓库 99/week @ 2024-04-15 · Rust 包仓库 94/week @ 2024-04-22 · Rust 包仓库 109/week @ 2024-04-29 · Rust 包仓库 41/week @ 2024-05-06 · Rust 包仓库 92/week @ 2024-05-13 · Rust 包仓库 118/week @ 2024-05-20 · Rust 包仓库 61/week @ 2024-05-27 · Rust 包仓库 69/week @ 2024-06-03 · Rust 包仓库 36/week @ 2024-06-10 · Rust 包仓库 71/week @ 2024-06-17 · Rust 包仓库 81/week @ 2024-06-24 · Rust 包仓库

262 每月下载量
用于r2d2-beanstalkd

MIT 许可证

50KB
987

Rust的Beanstalkd客户端

Build Status

Beanstalkd是一个快速、通用的工作队列。beanstalkc-rust是基于此处定义的协议的Beanstalkd客户端,用于与Beanstalkd服务器通信。

rust-beanstalkdbeanstalkc的启发。

为什么

可以从这里找到多个仓库,为什么不直接使用其中的一个呢?原因如下

  1. 其中一些文档编写得不好;
  2. 其中一些没有得到积极开发或维护;
  3. 这个获得最多星标rust-beanstalkd仓库已经过时,因为不支持所有的beanstalkd命令。

特性

  1. 易于使用;
  2. 支持自定义连接超时;
  3. 支持protocol.txt中定义的所有命令;
  4. 文档编写良好。

安装

注意: :) 版本1.x不再与旧版本兼容。作业体现在返回原始字节而不是UTF-8字符串。修改可以在这里找到。

将此依赖项添加到您的Cargo.toml~

beanstalkc = "^1.0.0"

文档

完整文档可以在这里找到。

用法

更多示例可以在这里找到。

生产者

use beanstalkc::Beanstalkc;
use std::time;

fn main() {
    let mut conn = Beanstalkc::new()
        .host("127.0.0.1")
        .port(11300)
        .connection_timeout(Some(time::Duration::from_secs(10)))
        .connect()
        .expect("connection failed");

    conn.use_tube("jobs").unwrap();

    conn.put_default(b"hello, world").unwrap();
    conn.put(
            b"Hello, rust world.",
            0,
            time::Duration::from_secs(100),
            time::Duration::from_secs(1800)
        )
}

消费者

use beanstalkc::Beanstalkc;
use std::time;

fn main() {
    let mut conn = Beanstalkc::new()
        .host("127.0.0.1")
        .port(11300)
        .connection_timeout(Some(time::Duration::from_secs(10)))
        .connect()
        .expect("connection failed");

    conn.watch("jobs").unwrap();

    let mut job = conn.reserve().unwrap();
    println!("{:#?}", job.stats());

    job.delete().unwrap();
}

许可证

许可协议为MIT许可证

贡献

请随时报告任何问题~

依赖项

~2MB
~39K SLoC