基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务
启动/停止
- 启动
httpsqs -d -x /opt/httpsqs/data
- 停止
pkill httpsqs
- 参数
-l <ip_addr> 监听的IP地址,默认值为 0.0.0.0 -p <num> 监听的TCP端口(默认值:1218) -x <path> 数据库目录,目录不存在会自动创建(例如:/opt/httpsqs/data) -t <second> HTTP请求的超时时间(默认值:3) -s <second> 同步内存缓冲区内容到磁盘的间隔秒数(默认值:5) -c <num> 内存中缓存的最大非叶子节点数(默认值:1024) -m <size> 数据库内存缓存大小,单位:MB(默认值:100) -i <file> 保存进程PID到文件中(默认值:/tmp/httpsqs.pid) -a <auth> 访问HTTPSQS的验证密码(例如:mypass123) -d 以守护进程运行 -h 显示这个帮助
入队
- get方式
http://localhost:1218/?name=your_queue_name&opt=put&data=经过URL编码的文本消息&auth=mypass123
- post方式
http://localhost:1218/?name=your_queue_name&opt=put&auth=mypass123
- 返回
HTTPSQS_PUT_OK 入队成功 HTTPSQS_PUT_ERROR 入队失败 HTTPSQS_PUT_END 队列已满
出队
- get方式
http://localhost:1218/?charset=utf-8&name=your_queue_name&opt=get&auth=mypass123
- post方式
http://localhost:1218/?charset=gb2312&name=your_queue_name&opt=get&auth=mypass123
- 返回
HTTPSQS_GET_END 没有未读消息
获取状态
- get方式
http://localhost:1218/?name=your_queue_name&opt=status&auth=mypass123
- 返回
HTTP Simple Queue Service v1.7
------------------------------
Queue Name: wyq 队列名
Maximum number of queues: 1000000 最大数
Put position of queue (1st lap): 18 入队位置
Get position of queue (1st lap): 18 出队位置
Number of unread queue: 0 未读数量
- get方式
http://localhost:1218/?name=your_queue_name&opt=status_json&auth=mypass123
- 返回json方式
{ "name":"wyq", "maxqueue":1000000, "putpos":18, 入队位置 "getpos":18, 出队位置 "putlap":1, 队列写入初始点 "getlap":1, 队列读取初始点 "unread":0 未读数量 }
重置
- get方式
http://localhost:1218/?name=your_queue_name&opt=reset&auth=mypass123
- 返回
HTTPSQS_RESET_OK 重置成功 HTTPSQS_RESET_ERROR 重置失败
更改参数
- 设置最大队列数
http://localhost:1218/?name=your_queue_name&opt=maxqueue&num=1000000000&auth=mypass123
- 返回
HTTPSQS_MAXQUEUE_OK 更改最大队列数成功 HTTPSQS_MAXQUEUE_CANCEL 操作被取消
- 设置刷新内存缓冲区到磁盘间隔时间
http://localhost:1218/?name=your_queue_name&opt=synctime&num=10&auth=mypass123
- 返回
HTTPSQS_SYNCTIME_CANCEL 本次操作被取消 HTTPSQS_SYNCTIME_OK 修改间隔时间成功
HTTPSQS_AUTH_FAILED 密码校验失败
HTTPSQS_ERROR 全局错误