is there a way to 'reserve' workers for specific participants.
Hello,
basically, there are two ways.
a) use Participant#on_accept?
http://ruote.rubyforge.org/implementing_participants.html#accept
b) subclass the Worker to make it discard certain msgs based on the
participant name
We have the requirement that some workitems need to be processed quite instantly (1-2 seconds).But under medium workload the engine reacts really slow and needs minutes to process new workitems, even with a lot of worker-processes (currently 5).
What is medium workload for you guys?
What storage implementation do you use?
2.3.0What version of ruote?
1.9.3What version of Ruby?
Is the datastore on the same host as the workers?
Are the workers disseminated on multiple hosts?
What kind of deployment? EC2? Own servers?
I'm now in the middle of an effort to optimize ruote-sequel (
https://groups.google.com/d/topic/openwferu-users/ZFfqxAIRgsw/discussion )
maybe you're using ruote-sequel as well.
If it would be possible to reserve workers for specific jobs, we could ensure the workitems would be processed within time.Or is it possible to give an workitem some kind of priority?
Sorry, there is no priority for workitems in ruote. The two techniques above
could be used for prioritizing, but the regular work (outside of participant
"execution") has to be done as well.
At first, I can help you make it faster (if I know the details).How many workers do you usually run in production?
In production for now I personnaly only have limited systems with two workers
and it's more like for backup than for load. One or two new flows per day, a
bit of activity every 1 or 2 hours. Small office automation.
I don't know for others, maybe they'll notice the thread and pass some info.
--
you received this message because you are subscribed to the "ruote users" group.
to post : send email to openwfe...@googlegroups.com
to unsubscribe : send email to openwferu-use...@googlegroups.com
more options : http://groups.google.com/group/openwferu-users?hl=en

| NinjaConcept GmbH | |
| Marco Sehrer Geschäftsführung | |
| Amalienstrasse. 44 | |
| 76133 Karlsruhe | |
| fon: | (+49) 0721 1803523-1 |
| fax: | (+49) 721 961402-99 |
| mobile: | (+49) 151 20314416 |
| email: | m...@ninjaconcept.com |
| www: | http://www.ninjaconcept.com/ |
b) subclass the Worker to make it discard certain msgs based on the
participant name
On Wed, Aug 01, 2012 at 08:11:46PM +0200, Marco Sehrer [ninjaconcept.com] wrote:great, I gave it a try, our test-suite runs green. and as far as I can see, it works correctly with multiple workers too.I took a manual benchmark with 30 workitems running thru a workflow:2 workers - 1:45 ruote-redis2 workers - 1:37 ruote-redis-experimentalBut this is not very representative as we have some time-consuming jobs going on, I think the pure ruote-speedup must be far more.Would be cool, to have this optimization in master soon.
Hello Marco,
I merged it into master. The number of pop attempts is configurable via a
'pop_count' option (defaults to 28).
Maybe the next way to improve would be to have pool of threads for the
participants so that one participant doesn't monopolize the whole worker. The
number of threads could be limited (so we don't run out of database
connections like you described previously). Just tell me if you'd be
interested by such a refinement. I cannot do it immediately, I have to work
on ruote-sequel for Chad.
--
you received this message because you are subscribed to the "ruote users" group.
to post : send email to openwfe...@googlegroups.com
to unsubscribe : send email to openwferu-use...@googlegroups.com
more options : http://groups.google.com/group/openwferu-users?hl=en