安装php的rabbitmq扩展amqp
摘要:第一步:# 下载 rabbitmq-c librarymkdir rabbitmq-ccd rabbitmq-cwget https://github.com/alanxz/rabbitmq-c/tarball/0.2tar zxvf 0.2# 删除压缩包rm -rf 0.2cd alanxz-rabbitmq-c-f8f4fc7# 下载最新版的codegen配件wget https://github.com/rabbitmq/rabbitmq-codegen/tarball/mastertar zxvf mastermv rabbitmq-rabbitmq-codegen-7597914 c
阅读全文
posted @
2012-10-28 18:10
mingaixin
阅读(3339)
推荐(0) 编辑
php 5.3.3 中 php-fpm 的重启、终止操作命令
摘要:php 5.3.3 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:master进程可以理解以下信号INT, TERM 立刻终止QUIT 平滑终止USR1 重新打开日志文件USR2 平滑重载所有worker进程并重新载入配置和二进制模块示例:php-fpm 关闭:kill -INT `cat /usr/local/php/var/run/php-fpm.pid`php-fpm 重启:kill -USR2 `cat /usr/local/php/var/run/php
阅读全文
posted @
2012-10-28 18:10
mingaixin
阅读(11000)
推荐(0) 编辑
安装python的rabbitmq扩展库
摘要:安装 py-amqplibwget http://py-amqplib.googlecode.com/files/amqplib-1.0.2.tgztar -zxvf amqplib-1.0.2.tgzcd amqplib-1.0.2sudo python setup.py install进入python终端,验证是否成功import amqplib
阅读全文
posted @
2012-10-28 18:08
mingaixin
阅读(670)
推荐(0) 编辑
安装rabbitmq服务器端
摘要:第一步: 安装Erlang环境到 http://www.erlang.org/download.html 下载erlang的源码包wget http://www.erlang.org/download/otp_src_R15B02.tar.gztar -zxvf otp_src_R15B02.tar.gz otp_src_R15B02 ./configure # 注意:它会列出你机器上没有安装的依赖包,如我这边有wxWidget没有安装,由于wxWidget是可选安装的,所以我这边没有安装,你可以通# 过yum install来安装它们,安装完以后再./configure一下makesudo
阅读全文
posted @
2012-10-28 18:07
mingaixin
阅读(445)
推荐(0) 编辑
rabbitmq使用__python客户端(消息发送者)
摘要:#! /usr/bin/python# -*- coding: utf-8 -*- import sysimport amqplib.client_0_8 as amqp# 创建一个TCP 连接conn = amqp.Connection(host="localhost:5672 ", userid="guest",password="guest", virtual_host="/", insist=False)# 创建一个通信channel chan = conn.channel()msg = amqp.Mess
阅读全文
posted @
2012-10-28 18:03
mingaixin
阅读(708)
推荐(0) 编辑
rabbitmq使用__python客户端(消息接收者)
摘要:#! /usr/bin/python# -*- coding: utf-8 -*- import amqplib.client_0_8 as amqp# 创建一个TCP 连接conn = amqp.Connection(host="localhost:5672 ", userid="guest", password="guest", virtual_host="/", insist=False)# 创建一个通信channel chan = conn.channel()# 创建一个队列 chan.queue_decl
阅读全文
posted @
2012-10-28 18:02
mingaixin
阅读(901)
推荐(0) 编辑
rabbitmq使用__php客户端(消息发送者)
摘要:<?php$conn_args = array( 'host' => 'localhost', 'port' => '5672', 'login' => 'guest', 'password' => 'guest', 'vhost'=>'/');$e_name = 'test_ex'; //交换机名 $q_name = 'test_queue'; //队列名 $k_ro
阅读全文
posted @
2012-10-28 17:46
mingaixin
阅读(710)
推荐(0) 编辑
rabbitmq使用__php客户端(消息接收者)
摘要:<?php//配置信息 $conn_args = array( 'host' => 'localhost', 'port' => '5672', 'login' => 'guest', 'password' => 'guest', 'vhost'=>'/' ); $e_name = 'test_ex'; //交换机名 $q_name = 'test_queue'; //
阅读全文
posted @
2012-10-28 17:44
mingaixin
阅读(1700)
推荐(0) 编辑
Rabbitmq Exchange Type 说明
摘要:Exchange在定义的时候是有类型的,以决定到底是哪些Queue符合条件,可以接收消息fanout所有bind到此exchange的queue都可以接收消息direct通过routingKey和exchange决定的那个唯一的queue可以接收消息topic所有符合routingKey(此时可以是一个表达式)的routingKey所bind的queue可以接收消息表达式符号说明:#代表一个或多个字符,*代表任何字符例:#.a会匹配a.a,aa.a,aaa.a等*.a会匹配a.a,b.a,c.a等注:使用RoutingKey为#,Exchange Type为topic的时候相当于使用fanou
阅读全文
posted @
2012-10-28 17:37
mingaixin
阅读(3543)
推荐(0) 编辑
rabbitmq 实现原理
摘要:AMQP(高级消息队列协议 Advanced Message Queue Protocol)AMQP当中有四个概念非常重要: 虚拟主机(virtual host),交换机(exchange),队列(queue)和绑定(binding)。一个虚拟主机持有一组交换机、队列和绑定。为什么需要多个虚拟主机呢?很简单,RabbitMQ当中,用户只能在虚拟主机的粒度进行权限控制。因此,如果需要禁止A组访问B组的交换机/队列/绑定,必须为A和B分别创 建一个虚拟主机。每一个RabbitMQ服务器都有一个默认的虚拟主机“/”。Producer 要产生消息必须要创建一个 Exchange ,Exchange 用
阅读全文
posted @
2012-10-26 18:05
mingaixin
阅读(12457)
推荐(2) 编辑
对erlang的简单了解
摘要:由于RabbitMQ是用erlang写的,这里简单介绍一下Erlang,Erlang 是由爱立信公司开发的一种平台式语言,可以说是一种自带了操作系统平台的编程语言,而且在这个平台上实现了并发机制、 进程调度、内存管理、分布式计算、网络通讯等功能,这些功能都是完全独立于用户的操作系统的,它采用的是类似于Java一样的虚拟机的方式来实现对操作系 统的独立性的。 一面是它的特点: 并发性:Erlang的轻量级进程可以支持极高的并发性,而且在高并发的情况下内存使用相当的少。Erlang的并发性并不会受到宿主操作系统并发性的限制。 分布式:最开始Erlang的设计目标就是实现分布式环境,一个Er...
阅读全文
posted @
2012-10-26 15:38
mingaixin
阅读(556)
推荐(0) 编辑
Python 代码调试技巧
摘要:Python 代码调试技巧2012-5-3简介: Debug 对于任何开发人员都是一项非常重要的技能,它能够帮助我们准确的定位错误,发现程序中的 bug。python 提供了一系列 debug 的工具和包,可供我们选择。本文将主要阐述如何利用 python debug 相关工具进行 debug。使用 pdb 进行调试pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令,详情见表 1。表 1. pdb 常用命令命令 解释 br...
阅读全文
posted @
2012-10-12 17:32
mingaixin
阅读(9681)
推荐(0) 编辑
python模块---DateTime
摘要:使用实例一,计算两个日期相差天数的计算#! /usr/local/pythonimport datetimed1 = datetime.datetime(2009,10,9)d2 = datetime.datetime(2012,10,12)a = (d2 - d1).daysprint a使用实例二: 计算程序运行的时间,以秒进行显示#! /usr/local/pythonimport datetimeimport timestarttime = datetime.datetime.now()#long runningtime.sleep(5)endtime = datetime.datet
阅读全文
posted @
2012-10-12 15:10
mingaixin
阅读(276)
推荐(0) 编辑
python模块---time
摘要:能够得到struct_time的方法:>>> time.localtime() #将一个时间戳转换成一个当前时区的struct_time,如果seconds参数未输入,则以当前时间为转换标准time.struct_time(tm_year=2012, tm_mon=10, tm_mday=12, tm_hour=14, tm_min=25, tm_sec=55, tm_wday=4, tm_yday=286, tm_isdst=0)>>> >>> time.gmtime() #将一个时间戳转换成一个UTC时区(0时区)的struct_tim
阅读全文
posted @
2012-10-12 14:54
mingaixin
阅读(281)
推荐(0) 编辑
Python中时间戳与时间字符串互相转化
摘要:#设a为字符串import timea = "2011-09-28 10:00:00"#中间过程,一般都需要将字符串转化为时间数组time.strptime(a,'%Y-%m-%d %H:%M:%S')>>time.struct_time(tm_year=2011, tm_mon=9, tm_mday=27, tm_hour=10, tm_min=50, tm_sec=0, tm_wday=1, tm_yday=270, tm_isdst=-1)#将"2011-09-28 10:00:00"转化为时间戳time.mktime(
阅读全文
posted @
2012-10-12 14:00
mingaixin
阅读(1260)
推荐(0) 编辑
python模块---logging(日志管理)
摘要:一般情况下,一些程序的调试过程中我们会让它输出一些信息,特别是一些大型的程序,我们通过这些信息可以了解程序的运行情况,python提供了一个日志模块logging,它可以把我们想要的信息全部保存到一个日志文件中,方面我们查看。最近做的项目,有一些业务处理逻辑是先将数据写入队列,然后通过python读取队列中的内容,继续处理后续的逻辑。因为队列消费一次就没了,所以做好日志记录格外重要;test_log1.py#! /usr/bin/pythonimport loggingLOG_FILENAME="log_test.txt"logging.basicConfig(filena
阅读全文
posted @
2012-10-12 11:53
mingaixin
阅读(9106)
推荐(0) 编辑
python字符串格式化 学习二
摘要:模板字符串:string模板提供另外一种格式化值的方法:模板字符串。它的工作方式类似于很多Unix Shell里的变量替换。>>> from string import Template>>> s = Template('$X. glorious $X!') >>> s.substitute(X='slurm') 'slurm. glorious slurm!'如果替换字段是单词的一部分,那么参数名就必须用括号括起来,从而精确指明结尾:>>> s = Template(&qu
阅读全文
posted @
2012-10-12 10:41
mingaixin
阅读(367)
推荐(0) 编辑
python字符串格式化 学习一
摘要:1、基础字符串操作所有标准的序列操作(索引,[:],*,in,not in ,len,min,max,sorted,reversed,zip,sum,enumerate)对于字符串同样适用。但是字符串都是不可变的。因此,类似以下分片赋值是不合法的:>>> website="www.letv.com">>> print website[3].>>> website[3]='b'Traceback (most recent call last): File "<stdin>",
阅读全文
posted @
2012-10-12 10:36
mingaixin
阅读(22826)
推荐(0) 编辑
用shell脚本判断进程是否存在,并重新启动
摘要:#! /bin/bash# author caoxin# time 2012-10-10 # program : 判断进行是否存在,并重新启动function check(){ count=`ps -ef |grep $1 |grep -v "grep" |wc -l` #echo $count if [ 0 == $count ];then nohup python /runscript/working/$1 & fi}check behaviors.py参考的网址为: http://blog.csdn.net/shangpusp/arti...
阅读全文
posted @
2012-10-11 11:25
mingaixin
阅读(15531)
推荐(1) 编辑