Question

Running order of a workbench

  • 13 November 2013
  • 3 replies
  • 16 views

Hi,

 

Hopefully someone can help me with these fundamental questions about the way a workbench executes, this is for Oracle DB interactions as readers or using SQL Executors.

 

 

1) When you hit run in Desktop or FME Server starts processing the workbench does it do connection tests on the readers and transformers? 

 

 

2) In what order will it process the workspace?  For example if i have reader/processing/writer workflow and also a completely separate reader/processing/writer workflow in the same workspace which executes first?

 

 

Behavior I had seen was that the one at the top of the workspace goes first but then I've just experienced something to the contrary happen.  Also if i change the order in the navigator does that effect the execution order?

 

 

I've looked for something relating to this in the documentation but not been able to find it.

 

Thanks

 

 

 

 


3 replies

Userlevel 4
Hi,

 

 

there is no very easy answer to this, other than "it depends" :-)

 

 

But here are a couple of links that tries to answer parts of the questions:

 

I'd be interested to hear the basis for this question, though. Perhaps we could be of better help if we knew why...

 

 

David
HI Dave,

 

I'll take a look, one of those looks familaer though.

 

My scenario is: I need to read features from 2 different Oracle Spatial tables in the same DB and push them into their won ESRI shape file, so one shape file per table.  Then once complete update a logging table with a time stamp.

 

 

To do this i have 3 flows in my workbench

 

 

1. Oracle Datasource 1 for table 1 to shape file one

 

2. Oracle Datasource 1 for table 2 to shape file two

 

3. SQL Query translators producing an INSERT statment and then update to another table in the same database

 

 

Aditional info

 

All three connect to the same database so are linking to a private parameter for the Datasource (or "Dataset").

 

 

It seems I cannot guarantee that the flows with execute top to bottom in the bench.

 

 

Hope that's not too abstract?  I'm also a beginner at this so may be doing things "the long way round" and not realising.

 

 

 

Thanks for any info

 

 

 

Userlevel 4
There are, in true FME fashion, several strategies that could work, but the easiest might be to do this using several workspaces that you chain using WorkspaceRunners from a "master" workspace. This way you have full control over the order of how every object is written.

 

 

Other strategies could include using the FeatureHolder inside a custom transformer, e.g.:

 

 

 

 

David

Reply