httpsqs基本用法
2015年3月04日 09:14
基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务
启动/停止
- 启动
1 | httpsqs -d -x /opt/httpsqs/data |
- 停止
1 | pkill httpsqs |
- 参数
1 2 3 4 5 6 7 8 9 10 11 | -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方式
1 | http: //localhost :1218/?name=your_queue_name&opt=put&data=经过URL编码的文本消息&auth=mypass123 |
- post方式
1 | http: //localhost :1218/?name=your_queue_name&opt=put&auth=mypass123 |
- 返回
1 2 3 | HTTPSQS_PUT_OK 入队成功 HTTPSQS_PUT_ERROR 入队失败 HTTPSQS_PUT_END 队列已满 |
出队
- get方式
1 | http: //localhost :1218/?charset=utf-8&name=your_queue_name&opt=get&auth=mypass123 |
- post方式
1 | http: //localhost :1218/?charset=gb2312&name=your_queue_name&opt=get&auth=mypass123 |
- 返回
1 | HTTPSQS_GET_END 没有未读消息 |
获取状态
- get方式
1 | http: //localhost :1218/?name=your_queue_name&opt=status&auth=mypass123 |
- 返回
1 2 3 4 5 6 7 | 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方式
1 | http: //localhost :1218/?name=your_queue_name&opt=status_json&auth=mypass123 |
- 返回json方式
1 2 3 4 5 6 7 8 9 | { "name" : "wyq" , "maxqueue" :1000000, "putpos" :18, 入队位置 "getpos" :18, 出队位置 "putlap" :1, 队列写入初始点 "getlap" :1, 队列读取初始点 "unread" :0 未读数量 } |
重置
- get方式
1 | http: //localhost :1218/?name=your_queue_name&opt=reset&auth=mypass123 |
- 返回
1 2 | HTTPSQS_RESET_OK 重置成功 HTTPSQS_RESET_ERROR 重置失败 |
更改参数
- 设置最大队列数
1 | http: //localhost :1218/?name=your_queue_name&opt=maxqueue&num=1000000000&auth=mypass123 |
- 返回
1 2 | HTTPSQS_MAXQUEUE_OK 更改最大队列数成功 HTTPSQS_MAXQUEUE_CANCEL 操作被取消 |
- 设置刷新内存缓冲区到磁盘间隔时间
1 | http: //localhost :1218/?name=your_queue_name&opt=synctime&num=10&auth=mypass123 |
- 返回
1 2 | HTTPSQS_SYNCTIME_CANCEL 本次操作被取消 HTTPSQS_SYNCTIME_OK 修改间隔时间成功 |
HTTPSQS_AUTH_FAILED 密码校验失败
HTTPSQS_ERROR 全局错误