私は十分に検索しましたが、この問題を解決する助けを得ることができませんでした. 私は Ruby に非常に慣れていないので、非常に基本的なものが欠けている場合はご容赦ください。
Windows で以下のコードを実行しているときに、「C:/Users/shhashmi/workspace/rabbitmqSender/sender.rb:36:in []': can't convert Symbol into Integer (TypeError)
from C:/Users/shhashmi/workspace/rabbitmqSender/sender.rb:36:in
getItem」というエラーが表示されます。C:/Users/shhashmi/workspace/rabbitmqSender/sender.rb:59:in から「」
ただし、コードは CentOS で正常に動作します。
require "bunny"
require "net/http"
# Rabbit MQ
@host = "test.host"
@queue = "test.queue"
#@host = "localhost"
#@queue = "TEST"
# Put your target machine here
@target = "http://localhost:3000/"
def getItem
b = Bunny.new(:host=>@host, :port=>5672,)
# start a communication session with the amqp server
b.start
# declare a queue
q = b.queue(@queue, :auto_delete=>true)
# declare default direct exchange which is bound to all queues
e = b.exchange("")
# publish a message to the exchange which then gets routed to the queue
#e.publish("Hello, everybody! 211", :key => @queue)
#e.publish("Hello, everybody! 311", :key => @queue)
# get message from the queue
msg = q.pop[:payload]
puts "This is the message: " + msg + "\n\n"
# close the connection
b.stop
return msg
end
getItem