Hi,

I have a service which manages some long-running calculations, and I
communicate with it via RSB, which is working very well.

I want to implement some rules about which calculations can run
concurrently.  E.g. if there are calculations A,B,C and D, whilst
calculation A is running I can still process requests for calculations B,C
and D, but must queue up new requests for A until the current A is
finished, and then process them in the right order.  I don't really want to
create a new endpoint for each calculation because there are more than 4
and the rules are a bit more complex.

I'm not sure what the most straightforward way is to implement this.  I
currently think I need to implement my own ITransport so I can provide my
own behaviour where it starts the required threads up - is this a good
approach?  I also considered running with multiple threads and using a
message module, or coordinating it in the consumer and just putting the
message back on the queue if its busy.  But it looked as if I might either
lose messages through running out of retries, or risk the messages getting
out of order.  Also, I like coordinating it at a lower level as it keeps
the consumer simple.

Has anyone implemented anything like this and what route did you take?

Thanks,

Miles

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com.
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to