1

我正在尝试使用 node-amqp。

当在与兔子的连接部分引发异常时,我可以获得该异常,但它会永远重新启动与兔子的连接。

看那个:

    amqp = require("amqp")

    # Open a connection
    conn = amqp.createConnection( {url: "amqp://localhost"} , {reconnect: true})

    conn.on "ready", ->
      console.log "Conn Ready"

      conn.queue "queueX", {ack:true}, (queue) ->
        console.log "Subscribed #{queue.name}"

        assdsd() #calling non-exiting method. No exception is thrown but the connection is restarted

系统循环抛出的错误。我知道这是因为 {recconnect:true}。但我希望能够自己捕获异常。任何想法?

我的脚本的输出是这样的:

Conn Ready
Subscribed queueX
Conn Ready
Subscribed queueX
Conn Ready
Subscribed queueX
Conn Ready
Subscribed queueX
Conn Ready
Subscribed queueX
Conn Ready
Subscribed queueX
....
4

1 回答 1

2

您可能在某处有错误,这可以帮助您

# listen for conn errors
conn.on 'error', (err) ->
  # print to check what went wrong
  console.error err.stack

  # exit script with error
  # http://nodejs.org/api/process.html#process_process_exit_code
  process.exit 1
于 2014-09-11T14:31:41.487 回答