An open API service indexing awesome lists of open source software.

https://github.com/yf393136248/delay-message-queue

本地单机版延时消息队列
https://github.com/yf393136248/delay-message-queue

delay-queue go queue

Last synced: about 1 month ago
JSON representation

本地单机版延时消息队列

Awesome Lists containing this project

README

          

## 本地单机版延时消息队列

#### 它可以帮你实现例如订单30分钟后自动取消的功能,快速方便,替代了原始的定时轮询未支付订单,减轻了服务端的压力

#### 实现方式: 通过运行该服务,您可以通过tcp链接并传输指定格式的结构文档,当达到指定的延时时间后,系统将自动调用消息格式内的脚本

#### tcp传输的消息结构体为`json`结构,具体内容如下:
#####本地脚本调用:
```bash
{
"type" : "cmd", #结构类型,目前未使用
"script": "/home/php /home/script/demo.php", #脚本调用地址
"interval": 5, #延时数(秒)
"params": [12, 23, "Stersert"] #调用脚本需要携带的参数
}
```
#####远程api调用:
```bash
{
"type" : "api", #结构类型,目前未使用
"script": "http://www.baidu.com", #api调用地址, 本例将在5秒后调用该字段的远程api地址
"interval": 5, #延时数(秒)
"params": [] #调用脚本需要携带的参数
}
```

####服务运行
> go run main.go

> 运行参数:`-port` : tcp绑定端口, 默认:`8080`,`-slot` 队列的插槽数, 默认:`60`,也就是循环一次需要的秒数

#### 注意:`目前版本为单机版本,下一版本将开发可以分布式执行或api接口调用的方式`,目前是v1.0, 如果有任何建议或者问题,欢迎issue~