Linux/Windows下的安装、代码开发及Rails实战(2)

定时任务组件 rufus-scheduler

支持cron表达式,参考网址:

先安装:gem install rufus-scheduler

log4r

require 'logger' 就可以使用了,参考网址:

xml操作

例子代码如下:

buffer = "";
x = Builder::XmlMarkup.new(:target => buffer, :indent => 1)
x.instruct! :xml,:version => '1.0',:encoding =>'UTF-8'
x.comment! "书本信息"
x.library("shelf" => "Recent Acquisitions") {
x.section("name" => "ruby"){
x.book("isbn" => "0672310001"){
x.title "Programming Ruby"
x.author "Yukihiro"
x.description"Programming Ruby-
The Pramatic Programmer's Guide"
}
}
}
puts buffer
fh = File.new("xml.xml","w")
fh.puts buffer
fh.close

参考网址:

hessian

安装hessian:gem install hessian2

hessian代码示例:

require 'hessian2'

client = Hessian2::HessianClient.new(url)

client.xxx

程序完成及部署

源代码下载地址:

历时3天,完成我的第一个ruby程序,是改写的一个定时xml生成程序,干的不错!

一点小经验积累,如下:

initialize里面,打开数据库连接,是不可取的。如果程序执行很长时间,下次来用这个连接时,可能已经关闭了,最好用时open,用完close,不知道ruby里面有没有连接池的概念,可以进一步提高性能;

测试环境实践发现,hessian协议性能貌似低于dubbo协议,大约dubbo 2-3倍于 hessian,这个程序是2.6倍,很简单的请求,平均dubbo一次是4-5毫秒,hessian一次是11-12毫秒;

生产环境实际运行,hessian协议性能貌似和dubbo协议基本一致,运行了约20万次,总计消耗时间7分钟和8分钟的区别。

RabbitMQ的Ruby客户端:bunny

安装:gem install bunny

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18221.html