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 72/week @ 2024-03-11 81/week @ 2024-03-18 46/week @ 2024-03-25 48/week @ 2024-04-01 83/week @ 2024-04-08 99/week @ 2024-04-15 94/week @ 2024-04-22 109/week @ 2024-04-29 41/week @ 2024-05-06 92/week @ 2024-05-13 118/week @ 2024-05-20 61/week @ 2024-05-27 69/week @ 2024-06-03 36/week @ 2024-06-10 71/week @ 2024-06-17 81/week @ 2024-06-24

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