Erlang Mailing Lists

Author Message

<  RabbitMQ mailing list  ~  RPC Client side timeout

tonyg
Posted: Thu Dec 27, 2007 2:33 pm Reply with quote
User Joined: 07 Nov 2006 Posts: 199
Hi Ben,

Ben Hood wrote:
> When you send the top half you can specify an expiration property, but
> I can't see how this gets processed on the server side (from looking
> at the processing code). Furthermore this is a string value and I
> haven't seen an example of it or an explanation in the spec.

It isn't processed at all in the server at the moment, precisely because
the spec doesn't define it properly. A future release of the spec will
fix the problem.

> On the client, one easy to way to do this would be just to add a get()
> method on the blocking cell that passes in a timeout value, but I'm
> not sure what should happen once it times out. Should the consume be
> cancelled or should an appropriate property be set during the
> initialization of the consume that indicates to the server that it
> should clean unattended queues up after a while?

I'd suggest supplying, at RPC tophalf time, a default reply value as
well as the timeout, and then starting a timer task that, when it
expires, uses setIfUnset(defaultReplyValue) to release the RPC caller.
Also, the current use of set(receivedValue) in the consumer should be
replaced by setIfUnset(receivedValue).

At the moment, RpcClient itself doesn't queueDelete. Maybe it should
have the option of doing so, at the application's discretion. Then the
application can use the defaultReplyValue to decide what to do, and can
choose to delete the RpcClient and possibly the RpcClient's queue, at
its option.

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
View user's profile Send private message MSN Messenger
tonyg
Posted: Thu Dec 27, 2007 2:33 pm Reply with quote
User Joined: 07 Nov 2006 Posts: 199
Hi Ben,

Ben Hood wrote:
> To get around situations where an RPC handler dies completely and this
> wasn't recovered on the server side, I applied the following patch to
> the Java to allow it time out when invoking an RPC.

Unfortunately the patch didn't make it through - could you resend it?

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
View user's profile Send private message MSN Messenger
0x6e6562
Posted: Thu Dec 27, 2007 2:42 pm Reply with quote
User Joined: 12 Jul 2007 Posts: 250
Tony,

On 27 Dec 2007, at 14:33, Tony Garnock-Jones wrote:
>
>> To get around situations where an RPC handler dies completely and
>> this
>> wasn't recovered on the server side, I applied the following patch to
>> the Java to allow it time out when invoking an RPC.
>
> Unfortunately the patch didn't make it through - could you resend it?


Here it is.

HTH,

Ben



Post recived from mailinglist
View user's profile Send private message

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

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