定时任务组件 rufus-scheduler
先安装:gem install rufus-scheduler
log4r
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