How to make a workflow with a control plugin

From EdnaWiki
Jump to: navigation, search

Creating a Workflow in a Control Plugin

When creating a workflow from a collection of other plugins, it is helpful to first consider the steps and plugins you intend to use. In some cases there will be dependencies in information, for example the execution of step B will depend on the results of step A. In other cases the only requirement may be that step A is complete before step B is commenced.

If There Are No Dependencies

If there are no dependencies then the simplest thing to do is to create all of your plugin instances that you wish to run in preProcess:

   self._pluginA = self.loadPlugin('ExecPluginA')
   self._pluginB = self.loadPlugin('ExecPluginB')

Then set the inputs etc. appropriately (documented elsewhere.) Then in process connect the successful completion of the first step to the execution of the second:

   self._pluginA.connectSUCCESS(self._pluginB.execute)

Which will then chain them together, all things being equal. It may be desirable to handle the failure branch in an elegant manner, for example raising an exception.

Allowing for Dependencies