8 个版本 (4 个重大更新)
0.5.1 | 2024 年 6 月 25 日 |
---|---|
0.5.0 | 2023 年 9 月 19 日 |
0.4.0 | 2023 年 9 月 13 日 |
0.3.0 | 2023 年 9 月 13 日 |
0.1.2 | 2023 年 9 月 11 日 |
1354 在 Web 编程 中
每月 37 次下载
39KB
632 行
qstash-rs 🦀:Upstash QStash 的 Rust SDK
关于
qstash-rs
是一个用于与 Upstash QStash 交互的 Rust 库。它包含一个客户端和服务器(WIP)模块。客户端库是对 Upstash QStash REST API 的封装。
安装
您可以使用 cargo
安装 qstash-rs
cargo add qstash-rs
客户端使用
要开始使用客户端 SDK,您需要使用您的 QStash 令牌实例化 Client
结构体
#[tokio::main]
async fn main() {
let qstash_client = Client::new("<QSTASH_TOKEN>", None, None).expect("Could not create client");
}
然后您可以使用客户端支持的任何方法。例如,要将带有 JSON 体的新消息发布到队列
#[tokio::main]
async fn main() {
let qstash_client = Client::new("<QSTASH_TOKEN>", None, None).expect("Could not create client");
match qstash_client
.publish_json(
PublishRequestUrl::Url("https://google.com".parse().expect("Could not parse URL")),
HashMap::from([("test", "test")]),
None,
)
.await
{
Ok(r) => {
tracing::info!("Response: {:?}", r);
for res in r {
if res.error.is_some() {
panic!("This should NOT have an error");
}
}
}
Err(e) => {
tracing::error!("{}", e.to_string());
panic!("Could not publish");
}
};
}
更全面的示例可以在 crate 文档 中找到
贡献
欢迎贡献!如果您有问题、疑问或建议,请随时提交 pull request 或打开 issue。
许可
本项目采用 MIT 许可。详情请参阅 LICENSE 文件。
依赖
~4–16MB
~217K SLoC