Sha256: 86ef8b2340996567de66cd4b96f33e83a8a4e592940710872f63c60dd4d4988d
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
# > bundle exec ruby examples/demo_conpriority.rb # https://www.rabbitmq.com/consumer-priority.html # https://www.rabbitmq.com/blog/2013/12/16/using-consumer-priorities-with-rabbitmq/ # # Consumer Priority # HighPriorityWorker will process more messages than LowPriorityWorker # require 'pika_que' require 'pika_que/worker' require 'pika_que/runner' PikaQue.logger.level = ::Logger::DEBUG class HighPriorityWorker include PikaQue::Worker from_queue "pika-que-demo", :priority => 10 def perform(msg) logger.info "HighPriorityWorker #{msg['msg']}" ack! end end class LowPriorityWorker include PikaQue::Worker from_queue "pika-que-demo", :priority => 1 def perform(msg) logger.info "LowPriorityWorker #{msg['msg']}" ack! end end PikaQue.config.add_processor(workers: [LowPriorityWorker], concurrency: 10) PikaQue.config.add_processor(workers: [HighPriorityWorker], concurrency: 10) runner = PikaQue::Runner.new begin runner.run rescue => e puts e puts e.backtrace.join("\n") end sleep 3 pub = PikaQue::Publisher.new() 600.times do |i| pub.publish({ msg: "hello world #{i}" }, routing_key: 'pika-que-demo') end sleep 3 runner.stop puts "bye" exit 1
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pika_que-0.1.6 | examples/demo_conpriority.rb |