| Author |
Message |
|
| Guest |
Posted: Mon Feb 25, 2008 4:10 pm |
|
|
|
Guest
|
Hi, all,
Is there any way in RabbitMQ server for the admin to check for example:
How many queues are currently in the system?
How many messages that each one has processed and each one still holds waiting for the consumer to process?
|
|
|
| Back to top |
|
| tonyg |
Posted: Thu Feb 28, 2008 7:15 am |
|
|
|
User
Joined: 07 Nov 2006
Posts: 199
|
Hi Ying,
Ying He wrote:
> Is there any way in RabbitMQ server for the admin to check for example:
> How many queues are currently in the system?
> How many messages that each one has processed and each one still holds
> waiting for the consumer to process?
There is an undocumented way of doing this. If you start the broker by
running rabbitmq-server, then you end up at an erlang shell (if you
don't see the prompt, tap enter to make it reprint it). If you have the
broker running in the background, you need to attach an erlang shell to
it, with a command along the lines of "erl -sname temp -remsh
rabbit@yourmachine", running as the same user as the rabbit server.
At the erlang prompt, type "rabbit_amqqueue:stat_all().", which will
produce a brief report on the status of the queues in the system. This
tells you how many there are, how many consumers are listening on each,
and how many messages are backlogged on each. There is no indication of
how many messages have been through the queues yet. For example:
(rabbit@walk)1> rabbit_amqqueue:stat_all().
[{ok,{resource,<<"/">>,queue,<<"bar">>},0,1},
{ok,{resource,<<"/">>,queue,<<"foo">>},0,1}]
The example shows two queues, "foo" and "bar", each with a single
consumer attached (in fact a LogTail.exe instance from our .NET client),
and neither with any messages waiting to be consumed. The result of the
stat_all() call is a list of {status, fully-qualified-queue-name,
message-queue-length, consumer-count} tuples.
Regards,
Tony
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| alexis |
Posted: Thu Feb 28, 2008 8:25 am |
|
|
|
User
Joined: 06 Sep 2007
Posts: 80
Location: London
|
Thanks Tony.
One other thing that we have been talking about and would love to
share with others is this: how best to expose these erlang 'management
functions', such as they are, to users of other languages?
What would people most like to see? One idea would be to expose
functions remotely over queues (as reified RPC messages) and then use
the AMQP, STOMP or HTTP interfaces externally. Another approach would
be to use one of the GUI tools, one of the prototype flex clients.
Any thoughts?
alexis
On Thu, Feb 28, 2008 at 7:15 AM, Tony Garnock-Jones <tonyg@lshift.net> wrote:
> Hi Ying,
>
>
> Ying He wrote:
> > Is there any way in RabbitMQ server for the admin to check for example:
> > How many queues are currently in the system?
> > How many messages that each one has processed and each one still holds
> > waiting for the consumer to process?
>
> There is an undocumented way of doing this. If you start the broker by
> running rabbitmq-server, then you end up at an erlang shell (if you
> don't see the prompt, tap enter to make it reprint it). If you have the
> broker running in the background, you need to attach an erlang shell to
> it, with a command along the lines of "erl -sname temp -remsh
> rabbit@yourmachine", running as the same user as the rabbit server.
>
> At the erlang prompt, type "rabbit_amqqueue:stat_all().", which will
> produce a brief report on the status of the queues in the system. This
> tells you how many there are, how many consumers are listening on each,
> and how many messages are backlogged on each. There is no indication of
> how many messages have been through the queues yet. For example:
>
> (rabbit@walk)1> rabbit_amqqueue:stat_all().
> [{ok,{resource,<<"/">>,queue,<<"bar">>},0,1},
> {ok,{resource,<<"/">>,queue,<<"foo">>},0,1}]
>
> The example shows two queues, "foo" and "bar", each with a single
> consumer attached (in fact a LogTail.exe instance from our .NET client),
> and neither with any messages waiting to be consumed. The result of the
> stat_all() call is a list of {status, fully-qualified-queue-name,
> message-queue-length, consumer-count} tuples.
>
> Regards,
> Tony
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss@lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
--
Alexis Richardson
+44 20 7617 7339 (UK)
+44 77 9865 2911 (cell)
+1 650 206 2517 (US)
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| tonyg |
Posted: Thu Feb 28, 2008 8:36 am |
|
|
|
User
Joined: 07 Nov 2006
Posts: 199
|
Alexis Richardson wrote:
> What would people most like to see? One idea would be to expose
> functions remotely over queues (as reified RPC messages) and then use
> the AMQP, STOMP or HTTP interfaces externally. Another approach would
> be to use one of the GUI tools, one of the prototype flex clients.
I really like that idea of exposing server-internal interfaces over an
AMQP transport and layering tools over top of various AMQP client
libraries or adapters. I wouldn't go for a GUI to begin with, but that's
just my cantankerous unix dinosaurhood, perhaps
Ben Hood has made a promising start in this direction: see
http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2007-October/000662.html
for some details.
Tony
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Thu Feb 28, 2008 9:01 am |
|
|
|
Guest
|
I think you'd be better of starting off with SNMP. I think Tony said
that Erlang already has a library for this and both .Net and java have
some support for SNMP. It would be a good feature to be able to plug
in to existing management frameworks such as HP OpenView, Hyperic,
Hawk, Hermes (they all start with an H, weird).
Cheers,
Ross Mason
CTO, Co-Founder
MuleSource Inc.
http://mulesource.com | http://blog.rossmason.com
On 28 Feb 2008, at 09:25, Alexis Richardson wrote:
> Thanks Tony.
>
> One other thing that we have been talking about and would love to
> share with others is this: how best to expose these erlang 'management
> functions', such as they are, to users of other languages?
>
> What would people most like to see? One idea would be to expose
> functions remotely over queues (as reified RPC messages) and then use
> the AMQP, STOMP or HTTP interfaces externally. Another approach would
> be to use one of the GUI tools, one of the prototype flex clients.
>
> Any thoughts?
>
> alexis
>
>
> On Thu, Feb 28, 2008 at 7:15 AM, Tony Garnock-Jones
> <tonyg@lshift.net> wrote:
>> Hi Ying,
>>
>>
>> Ying He wrote:
>>> Is there any way in RabbitMQ server for the admin to check for
>>> example:
>>> How many queues are currently in the system?
>>> How many messages that each one has processed and each one still
>>> holds
>>> waiting for the consumer to process?
>>
>> There is an undocumented way of doing this. If you start the broker
>> by
>> running rabbitmq-server, then you end up at an erlang shell (if you
>> don't see the prompt, tap enter to make it reprint it). If you have
>> the
>> broker running in the background, you need to attach an erlang
>> shell to
>> it, with a command along the lines of "erl -sname temp -remsh
>> rabbit@yourmachine", running as the same user as the rabbit server.
>>
>> At the erlang prompt, type "rabbit_amqqueue:stat_all().", which will
>> produce a brief report on the status of the queues in the system.
>> This
>> tells you how many there are, how many consumers are listening on
>> each,
>> and how many messages are backlogged on each. There is no
>> indication of
>> how many messages have been through the queues yet. For example:
>>
>> (rabbit@walk)1> rabbit_amqqueue:stat_all().
>> [{ok,{resource,<<"/">>,queue,<<"bar">>},0,1},
>> {ok,{resource,<<"/">>,queue,<<"foo">>},0,1}]
>>
>> The example shows two queues, "foo" and "bar", each with a single
>> consumer attached (in fact a LogTail.exe instance from our .NET
>> client),
>> and neither with any messages waiting to be consumed. The result of
>> the
>> stat_all() call is a list of {status, fully-qualified-queue-name,
>> message-queue-length, consumer-count} tuples.
>>
>> Regards,
>> Tony
>>
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss@lists.rabbitmq.com
>> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>
>
>
> --
> Alexis Richardson
> +44 20 7617 7339 (UK)
> +44 77 9865 2911 (cell)
> +1 650 206 2517 (US)
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss@lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Thu Feb 28, 2008 9:27 am |
|
|
|
Guest
|
As long as we're just wishing ...
In order of priority:
1. Exposed over AMQP - I send a message to some queue the broker
listens too and get a reply with the information I need.
2. A very simple command-line tool giving the same info.
3. A nice sexy GUI with bells and whistles
(1) would actually be VERY nice - to the degree that I'd be prepared
to write something myself when I get some headroom (Rrright!
Speaking of which - if it should happen that I one late night are
finding myself sorely missing working in erlang to the degree that I'd
like to experiment with this - do you have any docs or just pointers
to how to receive and send AMQP from inside erlang? I guess using the
erlang AMQP client to let the server talk to itself isn't exactly the
right approach ...
Michael
On Feb 28, 2008, at 9:25 , Alexis Richardson wrote:
> Thanks Tony.
>
> One other thing that we have been talking about and would love to
> share with others is this: how best to expose these erlang 'management
> functions', such as they are, to users of other languages?
>
> What would people most like to see? One idea would be to expose
> functions remotely over queues (as reified RPC messages) and then use
> the AMQP, STOMP or HTTP interfaces externally. Another approach would
> be to use one of the GUI tools, one of the prototype flex clients.
>
> Any thoughts?
>
> alexis
>
>
> On Thu, Feb 28, 2008 at 7:15 AM, Tony Garnock-Jones
> <tonyg@lshift.net> wrote:
>> Hi Ying,
>>
>>
>> Ying He wrote:
>>> Is there any way in RabbitMQ server for the admin to check for
>>> example:
>>> How many queues are currently in the system?
>>> How many messages that each one has processed and each one still
>>> holds
>>> waiting for the consumer to process?
>>
>> There is an undocumented way of doing this. If you start the broker
>> by
>> running rabbitmq-server, then you end up at an erlang shell (if you
>> don't see the prompt, tap enter to make it reprint it). If you have
>> the
>> broker running in the background, you need to attach an erlang
>> shell to
>> it, with a command along the lines of "erl -sname temp -remsh
>> rabbit@yourmachine", running as the same user as the rabbit server.
>>
>> At the erlang prompt, type "rabbit_amqqueue:stat_all().", which will
>> produce a brief report on the status of the queues in the system.
>> This
>> tells you how many there are, how many consumers are listening on
>> each,
>> and how many messages are backlogged on each. There is no
>> indication of
>> how many messages have been through the queues yet. For example:
>>
>> (rabbit@walk)1> rabbit_amqqueue:stat_all().
>> [{ok,{resource,<<"/">>,queue,<<"bar">>},0,1},
>> {ok,{resource,<<"/">>,queue,<<"foo">>},0,1}]
>>
>> The example shows two queues, "foo" and "bar", each with a single
>> consumer attached (in fact a LogTail.exe instance from our .NET
>> client),
>> and neither with any messages waiting to be consumed. The result of
>> the
>> stat_all() call is a list of {status, fully-qualified-queue-name,
>> message-queue-length, consumer-count} tuples.
>>
>> Regards,
>> Tony
>>
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss@lists.rabbitmq.com
>> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>
>
>
> --
> Alexis Richardson
> +44 20 7617 7339 (UK)
> +44 77 9865 2911 (cell)
> +1 650 206 2517 (US)
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss@lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| alexis |
Posted: Thu Feb 28, 2008 11:51 am |
|
|
|
User
Joined: 06 Sep 2007
Posts: 80
Location: London
|
Ross
Interesting... thanks. Here is some background on SNMP from Erlang Consulting:
http://www.erlang-consulting.com/thesis/protocolmapping.html
I am not sure what kinds of things Hyperic et al. look for.
With Hermes, talking to Rabbit via the Qpid M1 JMS client should work.
See Sebastien's Spring emails...
alexis
On Thu, Feb 28, 2008 at 9:01 AM, Ross Mason <themuleman@gmail.com> wrote:
> I think you'd be better of starting off with SNMP. I think Tony said
> that Erlang already has a library for this and both .Net and java have
> some support for SNMP. It would be a good feature to be able to plug
> in to existing management frameworks such as HP OpenView, Hyperic,
> Hawk, Hermes (they all start with an H, weird).
>
> Cheers,
>
> Ross Mason
> CTO, Co-Founder
> MuleSource Inc.
>
> http://mulesource.com | http://blog.rossmason.com
>
>
>
>
>
>
>
> On 28 Feb 2008, at 09:25, Alexis Richardson wrote:
>
> > Thanks Tony.
> >
> > One other thing that we have been talking about and would love to
> > share with others is this: how best to expose these erlang 'management
> > functions', such as they are, to users of other languages?
> >
> > What would people most like to see? One idea would be to expose
> > functions remotely over queues (as reified RPC messages) and then use
> > the AMQP, STOMP or HTTP interfaces externally. Another approach would
> > be to use one of the GUI tools, one of the prototype flex clients.
> >
> > Any thoughts?
> >
> > alexis
> >
> >
> > On Thu, Feb 28, 2008 at 7:15 AM, Tony Garnock-Jones
> > <tonyg@lshift.net> wrote:
> >> Hi Ying,
> >>
> >>
> >> Ying He wrote:
> >>> Is there any way in RabbitMQ server for the admin to check for
> >>> example:
> >>> How many queues are currently in the system?
> >>> How many messages that each one has processed and each one still
> >>> holds
> >>> waiting for the consumer to process?
> >>
> >> There is an undocumented way of doing this. If you start the broker
> >> by
> >> running rabbitmq-server, then you end up at an erlang shell (if you
> >> don't see the prompt, tap enter to make it reprint it). If you have
> >> the
> >> broker running in the background, you need to attach an erlang
> >> shell to
> >> it, with a command along the lines of "erl -sname temp -remsh
> >> rabbit@yourmachine", running as the same user as the rabbit server.
> >>
> >> At the erlang prompt, type "rabbit_amqqueue:stat_all().", which will
> >> produce a brief report on the status of the queues in the system.
> >> This
> >> tells you how many there are, how many consumers are listening on
> >> each,
> >> and how many messages are backlogged on each. There is no
> >> indication of
> >> how many messages have been through the queues yet. For example:
> >>
> >> (rabbit@walk)1> rabbit_amqqueue:stat_all().
> >> [{ok,{resource,<<"/">>,queue,<<"bar">>},0,1},
> >> {ok,{resource,<<"/">>,queue,<<"foo">>},0,1}]
> >>
> >> The example shows two queues, "foo" and "bar", each with a single
> >> consumer attached (in fact a LogTail.exe instance from our .NET
> >> client),
> >> and neither with any messages waiting to be consumed. The result of
> >> the
> >> stat_all() call is a list of {status, fully-qualified-queue-name,
> >> message-queue-length, consumer-count} tuples.
> >>
> >> Regards,
> >> Tony
> >>
> >>
> >> _______________________________________________
> >> rabbitmq-discuss mailing list
> >> rabbitmq-discuss@lists.rabbitmq.com
> >> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> >>
> >
> >
> >
> > --
> > Alexis Richardson
> > +44 20 7617 7339 (UK)
> > +44 77 9865 2911 (cell)
> > +1 650 206 2517 (US)
> >
> > _______________________________________________
> > rabbitmq-discuss mailing list
> > rabbitmq-discuss@lists.rabbitmq.com
> > http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
--
Alexis Richardson
+44 20 7617 7339 (UK)
+44 77 9865 2911 (cell)
+1 650 206 2517 (US)
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Thu Feb 28, 2008 2:42 pm |
|
|
|
Guest
|
Hi, Thanks for your reply.
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@localhost
Eshell V5.5.5 (abort with ^G)
(yhe@yhe)1> rabbit_amqqueue:stat_all().
** exited: {aborted,{no_exists,[amqqueue,[{'$1',[],['$1']}]]}} **
Please advise. Anything I did wrong? 'yhe' is the username.
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)
Best,
ying
-----Original Message-----
From: Tony Garnock-Jones [mailto:tonyg@lshift.net]
Sent: Thursday, February 28, 2008 2:15 AM
To: Ying He
Cc: rabbitmq-discuss@lists.rabbitmq.com
Subject: Re: [rabbitmq-discuss] Queue info
Hi Ying,
Ying He wrote:
> Is there any way in RabbitMQ server for the admin to check for
example:
> How many queues are currently in the system?
> How many messages that each one has processed and each one still holds
> waiting for the consumer to process?
There is an undocumented way of doing this. If you start the broker by
running rabbitmq-server, then you end up at an erlang shell (if you
don't see the prompt, tap enter to make it reprint it). If you have the
broker running in the background, you need to attach an erlang shell to
it, with a command along the lines of "erl -sname temp -remsh
rabbit@yourmachine", running as the same user as the rabbit server.
At the erlang prompt, type "rabbit_amqqueue:stat_all().", which will
produce a brief report on the status of the queues in the system. This
tells you how many there are, how many consumers are listening on each,
and how many messages are backlogged on each. There is no indication of
how many messages have been through the queues yet. For example:
(rabbit@walk)1> rabbit_amqqueue:stat_all().
[{ok,{resource,<<"/">>,queue,<<"bar">>},0,1},
{ok,{resource,<<"/">>,queue,<<"foo">>},0,1}]
The example shows two queues, "foo" and "bar", each with a single
consumer attached (in fact a LogTail.exe instance from our .NET client),
and neither with any messages waiting to be consumed. The result of the
stat_all() call is a list of {status, fully-qualified-queue-name,
message-queue-length, consumer-count} tuples.
Regards,
Tony
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| 0x6e6562 |
Posted: Fri Feb 29, 2008 9:45 am |
|
|
|
User
Joined: 12 Jul 2007
Posts: 250
|
Michael,
On 28 Feb 2008, at 09:27, Michael Arnoldus wrote:
Quote: 1. Exposed over AMQP - I send a message to some queue the broker
Quote: listens too and get a reply with the information I need.
This already exists, albeit in a very alpha form due to other priorities:
http://dev.rabbitmq.com/viewmtn/branch/changes/com.rabbitmq.management
Basically it exposes the rabbit_access_control module via an asynchronous RPC over AMQP mechanism.
So you program against a Java interface which is backed by a dynamic proxy that initiates an RPC request via AMQP.
On the Rabbit side, you have a generic RPC handler that invokes the correct module in the address space of the server, which in turn returns it's response as the bottom half of the RPC.
From a client perspective, because you are programming against a Java management interface, you don't even need to care whether it's AMQP or whatever.
The reason why I used AMQP as a remoting technology was twofold:
1. Rabbit already speaks it
2. An AMQP implementation *should* eat its own dogfood
HTH,
Ben
Post recived from mailinglist |
|
|
| Back to top |
|
| tonyg |
Posted: Fri Feb 29, 2008 12:31 pm |
|
|
|
User
Joined: 07 Nov 2006
Posts: 199
|
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@localhost
> Eshell V5.5.5 (abort with ^G)
> (yhe@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@shortstop
Erlang (BEAM) emulator version 5.5.5 [source] [async-threads:0] [hipe]
[kernel-poll:false]
Eshell V5.5.5 (abort with ^G)
(rabbit@shortstop)1>
Notice how I said "-sname foo", and the *prompt* I'm given says
"rabbit@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@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@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@lshift.net
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| tonyg |
Posted: Fri Feb 29, 2008 12:51 pm |
|
|
|
User
Joined: 07 Nov 2006
Posts: 199
|
Hi Ying,
I've run some experiments now. The problem seems to be that erl.exe
doesn't honour the -remsh option, where werl.exe does. So you could try
werl -sname test -remsh rabbitmq@yourmachinename
which should give you a prompt reading "rabbitmq@..." instead of "test@...".
Regards,
Tony
Ying He wrote:
> C:\Program Files\erl5.5.5\bin>erl -sname yhe -remsh rabbit@localhost
> Eshell V5.5.5 (abort with ^G)
> (yhe@yhe)1> rabbit_amqqueue:stat_all().
> ** exited: {aborted,{no_exists,[amqqueue,[{'$1',[],['$1']}]]}} **
--
[][][] Tony Garnock-Jones | Mob: +44 (0)7905 974 211
[][] LShift Ltd | Tel: +44 (0)20 7729 7060
[] [] http://www.lshift.net/ | Email: tonyg@lshift.net
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Fri Feb 29, 2008 4:48 pm |
|
|
|
Guest
|
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@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@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@lshift.net]
Sent: Friday, February 29, 2008 7:31 AM
To: Ying He
Cc: rabbitmq-discuss@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@localhost
> Eshell V5.5.5 (abort with ^G)
> (yhe@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@shortstop
Erlang (BEAM) emulator version 5.5.5 [source] [async-threads:0] [hipe]
[kernel-poll:false]
Eshell V5.5.5 (abort with ^G)
(rabbit@shortstop)1>
Notice how I said "-sname foo", and the *prompt* I'm given says
"rabbit@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@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@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@lshift.net
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| 0x6e6562 |
Posted: Sat Mar 01, 2008 12:44 am |
|
|
|
User
Joined: 12 Jul 2007
Posts: 250
|
|
| Back to top |
|
| Guest |
Posted: Mon Mar 03, 2008 10:15 am |
|
|
|
Guest
|
Ben,
Currently we're using Python.
Yes, I understand and appreciate your use of Hessian to go language
neutrality. The only reason I have for changing this to something
human readable is, that it makes it possible for me to use an already
existing command-line client that is able to send and receive from
AMQP - and I have this fantasy that most people would have such a
command-line thingy - and it would be an extremely neat way to do
almost all communication with the server.
Michael
On Mar 1, 2008, at 1:44 , Ben Hood wrote:
> Michael,
>
>> Of course I don't use java which makes me appreciate you're using
>> AMQP as I'd like to actually use AMQP to get the information
>
>
> What language are you using BTW?
>
> This was part of the reason to go for async Hessian RPCs over AMQP -
> to remain language neutral.
>
> Ben
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss@lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
| 0x6e6562 |
Posted: Mon Mar 03, 2008 2:57 pm |
|
|
|
User
Joined: 12 Jul 2007
Posts: 250
|
Michael,
On 3 Mar 2008, at 10:15, Michael Arnoldus wrote:
> Ben,
>
> Currently we're using Python.
>
> Yes, I understand and appreciate your use of Hessian to go language
> neutrality. The only reason I have for changing this to something
> human readable is, that it makes it possible for me to use an
> already existing command-line client that is able to send and
> receive from AMQP - and I have this fantasy that most people would
> have such a command-line thingy - and it would be an extremely neat
> way to do almost all communication with the server.
I take your point.
Have you considered a layered approach to this problem?
For example:
Client
Rabbit Server
----------------------------
| Command Line |
----------------------------
| CLI Parser |
---------------------------- ----------------------------
| API Method | | API Invocation |
---------------------------- ----------------------------
| Hessian Encoding | | Hessian Decoding |
---------------------------- ----------------------------
| AMQP | ----------wire--------------> |
AMQP |
---------------------------- ----------------------------
That way you wouldn't need to write any server-side parsing and
response generation, and you can piggy back off an already existing
mechanism.
All you would have to do is create the API definition in Python, but
this is just copying the Erlang module interface definition to Python.
All of the marshaling and unmarshaling is done for you.
HTH,
Ben
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist |
|
|
| Back to top |
|
|
|
All times are GMT
Page 1 of 2
Goto page 1, 2 Next
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|
|