[rabbitmq-discuss] Queue info

Ying He yhe at usatech.com
Fri Feb 29 16:47:54 GMT 2008


Hi, Tony,
Thanks for your advice. erl works for Solaris(I have it on solaris too)
for rabbit_amqqueue:stat_all() (Note: on solaris rabbit at localhost will
not work, I have to use machine name)

For werl, it works once on windows XP, and the second time I run it. I
got a erl crush dump. Here is a snippet of the dump file:

=erl_crash_dump:0.1
Fri Feb 29 11:11:51 2008
Slogan: Kernel pid terminated (application_controller)
({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}
})
System version: Erlang (BEAM) emulator version 5.5.5 [async-threads:0]
Compiled: Tue Jun 12 12:44:20 2007

After this crash, I am not able to run werl -sname yhe -remsh rabbit at yhe
again successfully. Please advise if you know more about this.

As to the "failure of delivery", what I mean is if a delivery happens
but the client does not acknowledge it, then according to the AMQP spec,
the server needs to redeliver it if the client start a new session. And
if after all redeliver try of eg 5 times, the server still cannot
deliver the message and get acknowledgement. It should  put the message
to the dead letter queue and cause the client to abort. It will be
helpful to see how many messages are being redelivered because of no
acknowledgement and find a way to examine the message content( I don't
know how though at this moment) 

Best,
Ying


-----Original Message-----
From: Tony Garnock-Jones [mailto:tonyg at lshift.net] 
Sent: Friday, February 29, 2008 7:31 AM
To: Ying He
Cc: rabbitmq-discuss at lists.rabbitmq.com
Subject: Re: [rabbitmq-discuss] Queue info

Hi Ying,

Ying He wrote:
> I was running rabbitmq-server.bat and I do have some queues with
> producers and consumers and they are working fine running in the
> backgroud. However this command does not show me the right info, when
I
> start in another cmd 
> 
> C:\Program Files\erl5.5.5\bin>erl -sname yhe -remsh rabbit at localhost
> Eshell V5.5.5  (abort with ^G)
> (yhe at yhe)1> rabbit_amqqueue:stat_all().
> ** exited: {aborted,{no_exists,[amqqueue,[{'$1',[],['$1']}]]}} **

This is really interesting. I haven't tried the "-remsh" option on
Windows yet, but it looks like it's not registered that it's supposed to
connect to the running broker. For comparison, here's what I see on my
Linux machine:

~$ erl -sname foo -remsh rabbit at shortstop
Erlang (BEAM) emulator version 5.5.5 [source] [async-threads:0] [hipe]
[kernel-poll:false]

Eshell V5.5.5  (abort with ^G)
(rabbit at shortstop)1>


Notice how I said "-sname foo", and the *prompt* I'm given says
"rabbit at shortstop", indicating that I am issuing commands into a remote
erlang instance, not the local one. In the text you copied into your
email, above, we see "yhe at yhe" as the prompt, indicating that commands
you enter are being targetted at the *local* erlang instance, not the
remote one named in the "-remsh" command-line option.

I'll try to find a windows machine upon which to experiment.

> Please advise. Anything I did wrong? 'yhe' is the username.

If it's also the machine name, perhaps the following will do the trick?

erl -sname temp -remsh rabbit at yhe

> As to the management interface, it will be good to see the number of
> messages that has been through the queue and the number of messages
that
> still sit on the queue and error log for failure of delivery etc( this
> could be optional)

The number-of-messages-seen could be added fairly easily. The number of
messages currently on the queue is already present. What do you mean by
"failure of delivery", in this case?

Regards,
  Tony
-- 
 [][][] Tony Garnock-Jones     | Mob: +44 (0)7905 974 211
   [][] LShift Ltd             | Tel: +44 (0)20 7729 7060
 []  [] http://www.lshift.net/ | Email: tonyg at lshift.net




More information about the rabbitmq-discuss mailing list