Httpsqs队列基本操作

news/2024/9/6 6:10:57 标签: linux

一,安装

ulimit -SHn 65535

wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz
tar zxvf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable/
./configure --prefix=/usr/local/libevent-2.0.12-stable/
make
make install
cd ../

wget http://httpsqs.googlecode.com/files/tokyocabinet-1.4.47.tar.gz
tar zxvf tokyocabinet-1.4.47.tar.gz
cd tokyocabinet-1.4.47/
./configure --prefix=/usr/local/tokyocabinet-1.4.47/
#注:在32位Linux操作系统上编译Tokyo cabinet,请使用./configure --enable-off64代替./configure,可以使数据库文件突破2GB的限制。
#./configure --enable-off64 --prefix=/usr/local/tokyocabinet-1.4.47/
#在编译 tokyocabinet 时会报 configure: error: bzlib.h is required 的错误。
#解决方法是:   yum install bzip2-devel
make
make install
cd ../

wget http://httpsqs.googlecode.com/files/httpsqs-1.7.tar.gz
tar zxvf httpsqs-1.7.tar.gz
cd httpsqs-1.7/
make
make install
cd ../

二、常用命令

 httpsqs -h
-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 显示这个帮助

三、创建队列

为了访问安全 所以使用密码进行验证

#mkdir /data
# httpsqs -d -p 1218 -x /data/zabbix -a zabbix

请使用命令“killall httpsqs”、“pkill httpsqs”和“kill `cat /tmp/httpsqs.pid`”来停止httpsqs。

   注意:请不要使用命令“pkill -9 httpsqs”和“kill -9 httpsqs的进程ID”来结束httpsqs,否则,内存中尚未保存到磁盘的数据将会丢失。

[root@fms_server ~]# netstat -tnlp | grep 1218
tcp        0      0 0.0.0.0:1218                0.0.0.0:*                   LISTEN      11423/zabbix -a zab 

四、入队列

GET协议

#curl "http://115.182.209.189:1218/?name=zabbix&opt=put&data=zabbix监控&auth=zabbix"
#返回结果,如果是ok 证明入队列成功
HTTPSQS_PUT_OK

POST协议

# curl -d "zabbix监控" "http://115.182.209.189:1218/?name=zabbix&opt=put&auth=zabbix"
#返回结果,如果是ok 证明入队列成功
HTTPSQS_PUT_OK


如果入队列失败,返回:
HTTPSQS_PUT_ERROR


如果队列已满,返回:
HTTPSQS_PUT_END

五、出队列(从队列中取出)

GET方式取出UTF-8格式

# curl "http://115.182.209.189:1218/?charset=utf-8&name=zabbix&opt=get&auth=zabbix"
#取出内容如下
zabbix监控


GET方式取出GB2312格式

curl "http://115.182.209.189:1218/?charset=gb2312&name=zabbix&opt=get&auth=zabbix"
#取出内容如下
zabbix监控


如果队列里没有内容 则返回

# curl "http://115.182.209.189:1218/?charset=utf-8&name=zabbix&opt=get&auth=zabbix"
#返回如下
HTTPSQS_GET_END

六、查看队列状态

# curl "http://115.182.209.189:1218/?name=zabbix&opt=status&auth=zabbix"
HTTP Simple Queue Service v1.7
------------------------------
Queue Name: zabbix
Maximum number of queues: 1000000
Put position of queue (1st lap): 2
Get position of queue (1st lap): 2
Number of unread queue: 

json格式
# curl "http://115.182.209.189:1218/?name=zabbix&opt=status_json&auth=zabbix"
{"name":"zabbix","maxqueue":1000000,"putpos":2,"putlap":1,"getpos":2,"getlap":1,"unread":0}

http://www.niftyadmin.cn/n/812543.html

相关文章

python线程与进程手记

-----------------------------线程--------------------------- #线程应用的第一种方式&#xff1a;thread模块是比较底层的模块 #import thread&#xff1a;引用的模块 #thread.start_new_thread(defName,())&#xff1a;线程的创建 #thread.exit_thread()&#xff1a;线程的…

Linux -- 消息队列 httpsqs 安装

安装 libevent[rootlocalhost httpsqs]# wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz[rootlocalhost httpsqs]# tar -zxf libevent-2.0.12-stable.tar.gz[rootlocalhost httpsqs]# cd libevent-2.0.12-stable[rootlocalhost libevent-2.0.12-stab…

几种实现双向绑定的做法

几种实现双向绑定的做法 目前几种主流的mvc(vm)框架都实现了单向数据绑定&#xff0c;而我所理解的双向数据绑定无非就是在单向绑定的基础上给可输入元素&#xff08;input、textare等&#xff09;添加了change(input)事件&#xff0c;来动态修改model和 view&#xff0c;并没…

可供创业团队技术开发参考的10条经验

对于创业团队开发人员来说&#xff0c;不要高度追求技术的高大上&#xff0c;有效解决问题很重要。 这篇文章和大家说说有关创业公司的纯技术方面的想法。对于一个互联网创业公司来说&#xff0c;有这几个特点&#xff1a; 什么都要求快。这个快也许并非来自用户&#xff0c;而…

iOS开发 如何检查内存泄漏

本文转载至 http://mobile.51cto.com/iphone-423391.htm 在开发的时候内存泄漏是不可避免的&#xff0c;但是也是我们需要尽量减少的&#xff0c;因为内存泄漏可能会很大程度的影响程序的稳定性&#xff01;&#xff01;&#xff01;最近一阵在疯狂的查询内存泄漏问题&#xff…

JAVA实现简单电话簿功能

JAVA实现简单电话簿功能 说明&#xff1a;此项目为JAVA基础初级阶段的小项目&#xff0c;结果在控制台上直接可运行&#xff0c;所以只需导入资源类即可&#xff0c;供广大初学者学习练习。 项目链接&#xff1a;https://download.csdn.net/download/my2889214412/12819449 项…

理解大型分布式网站你必须知道这些概念

1.I/O优化 增加缓存&#xff0c;减少磁盘的访问次数。 优化磁盘的管理系统&#xff0c;设计最优的磁盘方式策略&#xff0c;以及磁盘的寻址策略&#xff0c;这是在底层操作系统层面考虑的。 设计合理的磁盘存储数据块&#xff0c;以及访问这些数据库的策略&#xff0c;这是…

财务账单业务系统

财务账单业务系统财务账单业务系统一、项目描述二、项目流程描述1.项目流程图2.账目新增3.账目修改4.账目删除5.账目的查询6.账目排序三、项目设计描述1.基本设计流程图2.用到的技术点总结财务账单业务系统 说明&#xff1a;此项目为JAVA基础初级阶段的小项目&#xff0c;需要…