Analysis - Pipeline example (czech) =================================== Tento dokument popisuje vytvoĹ™enĂ ukázkovĂ© pipeline. VariableGenerator ----------------- VytvoĹ™Ăme akci VariableGenerator, která bude na svĂ©m vĂ˝stupu poskytovat ensemble typu Float, obsahujĂcĂ tĹ™i hodnoty typu Float. :: vg = VariableGenerator(Variable=Ensemble(Float(), Float(1.0), Float(2.0), Float(3.0))) Workflow -------- Část pipeliny budeme chtĂt vykonávat opakovanÄ›, vloĹľĂme ji tedy do akce Workflow. :: w = Workflow() Connector --------- Do workflow budou vstupovat poloĹľky typu Float, na vstupu FunctionAction musĂ bĂ˝t typ Struct, pouĹľijeme tedy konektor, kterĂ˝ typ upravĂ. :: c1 = Connector() c1.set_inputs([w.input()]) c1.set_config(Convertor = Convertor(Struct(x=Input(0)))) FunctionAction -------------- UvnitĹ™ workflow umĂstĂme akci FunctionAction. Jako vstup do tĂ©to akce bude slouĹľit vstup do akce workflou. Pro akci FunctionAction definujeme vstupnĂ parametry a vlastnĂ pĹ™edpis funkce. :: f = FunctionAction( Inputs=[c1], Params=["x"], Expressions=["y = 2 * x + 3"] ) Connector --------- Budeme poĹľadovat, aby na vĂ˝stupu z workflou byl Struct s polozkou "z", vĂ˝stup z akce FunctionAction je Struct s polozkou y, pouĹľijeme tedy pĹ™ĂslušnĂ˝ konvertor. :: c2 = Connector() c2.set_inputs([f]) c2.set_config(Convertor = Convertor(Struct(z=Input(0).y))) NastavĂme vstup a vĂ˝stup workflow. :: w.set_config( OutputAction=c2, InputAction=c1 ) ForEach ------- CelĂ˝ workflow budeme opakovanÄ› vykonávat pomocĂ akce ForEach. :: fe = ForEach( Inputs=[vg], WrappedAction=w ) PrintDTTAction -------------- VĂ˝stup budeme chtĂt uloĹľit do souboru, pouĹľijeme tedy akci PrintDTTAction. :: pa = PrintDTTAction(Inputs=[fe], OutputFile="output.txt") Pipeline -------- Celá pipeline je umĂstÄ›na v akci Pipeline. :: p = Pipeline(ResultActions=[fe]) VĂ˝sledná pipeline ----------------- ZdrojovĂ˝ kĂłd celĂ© pipeliny vypadá tedy následovnÄ›. :: vg = VariableGenerator(Variable=Ensemble(Float(), Float(1.0), Float(2.0), Float(3.0))) w = Workflow() c1 = Connector() c1.set_inputs([w.input()]) c1.set_config(Convertor = Convertor(Struct(x=Input(0)))) f = FunctionAction( Inputs=[c1], Params=["x"], Expressions=["y = 2 * x + 3"] ) c2 = Connector() c2.set_inputs([f]) c2.set_config(Convertor = Convertor(Struct(z=Input(0).y))) w.set_config( OutputAction=c2, InputAction=c1 ) fe = ForEach( Inputs=[vg], WrappedAction=w ) pa = PrintDTTAction(Inputs=[fe], OutputFile="output.txt") p = Pipeline(ResultActions=[pa])