httpsqs基本用法

2015年3月04日 09:14

基于 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  全局错误
 

评论(43) 阅读(12051)

fedora中安装httpsqs

2015年3月04日 09:06

依赖包

  • libevent事件驱动
sudo yum install libevent  libevent-devel
 
  • tokyocabinet日本人开发的dbm数据库
sudo yum install tokyocabinet  tokyocabinet-devel
 
  • * zlib数据压缩的函数库, bzip2压缩工具
sudo yum install zlib zlib-devel bzip2-devel bzip2 bzip2-libs

安装

  • 下载
wget http://httpsqs.googlecode.com/files/httpsqs-1.7.tar.gz
 
  • 编译安装
make
make install
 

Tags: httpsqs;队列
评论(33) 阅读(2702)