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 网络编程
262 每月下载量
用于r2d2-beanstalkd
50KB
987 行
Rust的Beanstalkd客户端
Beanstalkd是一个快速、通用的工作队列。beanstalkc-rust是基于此处定义的协议的Beanstalkd客户端,用于与Beanstalkd服务器通信。
受rust-beanstalkd和beanstalkc的启发。
为什么
可以从这里找到多个仓库,为什么不直接使用其中的一个呢?原因如下
- 其中一些文档编写得不好;
- 其中一些没有得到积极开发或维护;
- 这个获得最多星标rust-beanstalkd仓库已经过时,因为不支持所有的beanstalkd命令。
特性
- 易于使用;
- 支持自定义连接超时;
- 支持protocol.txt中定义的所有命令;
- 文档编写良好。
安装
注意: :) 版本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