2016-03-16 47 views
2

如何在send.exs文件中指定我的自定義主機文件如果我的應用程序有receive.exs託管在某處?我有一個elixir應用send.exs和另一個應用receive.exs這是鳳凰的應用程序和託管。如何在RabbitMQ中指定用於連接的自定義主機?

send.exs

{:ok, connection} = AMQP.Connection.open 
{:ok, channel} = AMQP.Channel.open(connection) 
AMQP.Queue.declare(channel, "hello") 
AMQP.Basic.publish(channel, "", "hello", msg) 
IO.puts " [x] Sent everything" 
AMQP.Connection.close(connection) 

receive.exs

... 
{:ok, connection} = AMQP.Connection.open 
{:ok, channel} = AMQP.Channel.open(connection) 
AMQP.Queue.declare(channel, "hello") 
AMQP.Basic.consume(channel, "hello", nil, no_ack: true) 
IO.puts " [*] Waiting for messages. To exit press CTRL+C, CTRL+C" 
... 
+0

我的回答有幫助嗎?或者是其他解決方案? –

+1

它幫了很多。謝謝 :) –

回答

0

有幾種不同形式的Connection.open

The first,你正在使用,沒有參數,並使用一些默認設置(本地主機,「客人」用戶名,「客人」密碼等)。

The second需要選項的關鍵字列表,包括主機,端口,虛擬主機和其他選項。您可以使用Connection.open(host: your_host)。您不提供的任何設置都將使用默認設置。

The third表格採用格式良好的RabbitMQ URI作爲字符串,它是使用主機,端口,用戶名,密碼和虛擬主機的組合形成的。請注意,其中一些值在URI中是可選的。

相關問題