yf393136248 / delay-message-queue

本地单机版延时消息队列

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

本地单机版延时消息队列

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

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

tcp传输的消息结构体为json结构,具体内容如下:

#####本地脚本调用:

{
	"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,也就是循环一次需要的秒数

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

About

本地单机版延时消息队列


Languages

Language:Go 100.0%