0.0.1-alpha |
|
---|
#62 in #消息队列
14KB
221 行
Postgres 消息队列
启动任何 PG 实例
docker run -d --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres
初始化队列连接
use pgmq_rs::{Message, PGMQueue, PGMQueueConfig};
let qconfig = PGMQueueConfig {
queue_name: "myqueue".to_owned(),
url: "postgres://postgres:[email protected]:5432".to_owned(),
vt: 30,
delay: 0,
};
let queue: PGMQueue = qconfig.init().await;
创建队列
queue.create().await?;
发布消息
let msg = serde_json::json!({
"foo": "bar"
});
let msg_id = queue.enqueue(&msg).await;
读取消息
当队列为空或所有消息都不可见时,不会返回消息。
读取消息将使其在可见性超时期间不可见。
let read_msg: Message = queue.read().await.unwrap();
删除消息
当你完成消息时,将其从队列中删除。
let deleted = queue.delete(&read_msg.msg_id).await;
依赖项
~13–26MB
~389K SLoC