Skip to content

阿里云 ONS 消息队列服务 Ruby SDK(非官方版本)

License

Notifications You must be signed in to change notification settings

souche/aliyun-ons-ruby-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub issues GitHub forks GitHub stars Yard Docs Gem Version License

Ons

阿里云 ONS 消息队列服务 Ruby SDK(非官方版本)

项目依赖

  • Linux/Unix 系统
  • Ruby 2.1.5 或以上版本
  • Boost C++ 程序库

安装步骤

安装 Ruby 程序

$ rvm install 2.1.5

安装 Boost C++ 程序库

$ apt-get install libboost-all-dev

安装 ons

$ gem install ons

使用方式

环境准备

  • 安装 ons rubygems。
  • 代码里涉及到的 TOPIC、PRODUCER_ID、CONSUMER_ID,需要在 MQ 控制台上创建。 Message Tag 可以完全由应用自定义,具体创建过程可参考 申请MQ资源
  • 使用 MQ 服务的应用程序需要部署在阿里云 ECS 上。

部分资料来自 消息队列 > TCP 接入(专业) > C/C++ SDK 环境准备

生产者

producer = Ons::Producer.new('<ONS_ACCESS_KEY>', '<ONS_SECRET_KEY>', '<ONS_PRODUCER_ID>')

# 资源准备
producer.start

# 在 topic <ONS_TOPIC> 下发送消息
producer.send_message('<ONS_TOPIC>', 'tag', 'Hello, World!')

# 必须在程序退出前调用 shutdown 方法释放相关资源,否则可能出现栈错误
producer.shutdown

更多用法,请参考 {file:samples/producer.rb} 及 API 文档

消费者

consumer = Ons::Consumer.new('<ONS_ACCESS_KEY>', '<ONS_SECRET_KEY>', '<ONS_CONSUMER_ID>')

# 订阅 topic <ONS_TOPIC> 下的所有消息
# 注意,当消息达到时,会调用下述函数,此函数会被调度到单独线程中执行
consumer.subscribe('<ONS_TOPIC>', '*') { |message| p message }

# 资源准备
consumer.start

# 等待消息到达
sleep 32

# 必须在程序退出前调用 shutdown 方法释放相关资源,否则可能出现栈错误
consumer.shutdown

更多用法,请参考 {file:samples/consumer.rb} 及 API 文档

整合到 Rails 项目

推荐使用 ons_on_rails

About

阿里云 ONS 消息队列服务 Ruby SDK(非官方版本)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages