本地单机版延时消息队列
它可以帮你实现例如订单30分钟后自动取消的功能,快速方便,替代了原始的定时轮询未支付订单,减轻了服务端的压力
实现方式: 通过运行该服务,您可以通过tcp链接并传输指定格式的结构文档,当达到指定的延时时间后,系统将自动调用消息格式内的脚本
json
结构,具体内容如下:
tcp传输的消息结构体为#####本地脚本调用:
{
"type" : "cmd", #结构类型,目前未使用
"script": "/home/php /home/script/demo.php", #脚本调用地址
"interval": 5, #延时数(秒)
"params": [12, 23, "Stersert"] #调用脚本需要携带的参数
}
#####远程api调用:
{
"type" : "api", #结构类型,目前未使用
"script": "http://www.baidu.com", #api调用地址, 本例将在5秒后调用该字段的远程api地址
"interval": 5, #延时数(秒)
"params": [] #调用脚本需要携带的参数
}
####服务运行
go run main.go
运行参数:
-port
: tcp绑定端口, 默认:8080
,-slot
队列的插槽数, 默认:60
,也就是循环一次需要的秒数