Are these new pipeline stages or existing stages with new options? Could it
be used with existing configuration? I mean if you don't specify order,
threaded or maxtreads options would everything work as it worked earlier?
Also, do you think it would be possible to generalize this functionality in
one abstract class and let Router and XpathSplitter (and other classes) to
extend this class. We should identify common functionality for these classes
(something like is done with Writer stages).
Opinions?
Dejan
----- Original Message -----
From: Leech, Jonathan
To: bab...@li...
Sent: Thursday, July 10, 2003 12:01 AM
Subject: [Babeldoc-devel] threading and ordering of Router / XpathSplitter
Pipeline stages
I've got it prototyped and working! Thanks Dejan for the idea of adding an
attribute to specify ordering -- I was stuck on the idea of the order coming
from the order in the config file...
The general idea is to add the attributes 'order', 'threaded', and
'maxthreads' to any pipeline stages that can create more than one output
document.
The only thing its missing is the 'maxthreads' idea, I've got it hardcoded
to 5.
-Jonathan
Example config of ordered router:
example.stageType=Router
example.nextStage.step1=true
example.nextStage.step2=true
example.nextStage.step3=true
example.order.step1=1
example.order.step2=2
example.order.step3=3
Example config of parallel router:
example.stageType=Router
example.nextStage.step1=true
example.nextStage.step2=true
example.nextStage.step3=true
example.threaded=true
example.maxthreads=2
Example config of parallel XpathSlitter
example.stageType=XpathSplitter
example.nextStage=step1
example.XPath=//foo/bar
example.threaded=true
example.maxthreads=10
|