Skip to main content

Hello all

We are using FME Desktop SP14 and have a project where we use quite a lot of input tables (aprox. 20-30) from different sources (GE Smallworld, MS Access and Oracle through ODBC) to one MS Access file. The full process uses 3 different frameworks that must be executed on the correct order and with several user parameters (ie. initial and end date). We looked for some method, easy for an end user, for running those frameworks.

At first it seemed promising to use the transformer Workspacerunner. But with several tries detected that the reader from SmallWorld seems to become very slow when interacting with this transformer.

Tried to implement the process on a batch file and, after solving some issues from the use of dates, it worked like a charm.

So, the big question is, the Workspacerunner transformer was never intended to be used this way? perharps it is something that processes the features on a one-by-one basis (it seemed to us that this was what crushed the Smallworld readers performance) Then, the best way to affront this problem is to use the calls from a .bat file?

Thanks on advance

I have no experience with SmallWorld, but I'd be a bit surprised if the WorkspaceRunner was the issue here. However it is difficult to say what's going on without more details, e.g. how many times is the WorkspaceRunner invoked?


I have no experience with SmallWorld, but I'd be a bit surprised if the WorkspaceRunner was the issue here. However it is difficult to say what's going on without more details, e.g. how many times is the WorkspaceRunner invoked?

Hi David.

 

Debugging it with inspection points, we saw the WorkspaceRunner was invoked once for every feature!. We tried to tinker with this transformer's properties but we didn't fins a way to make it accept several registers at once. Just wondering if we missed something or that is the way the WorkspaceRunner is supposed to work.

 

 


Hi David.

 

Debugging it with inspection points, we saw the WorkspaceRunner was invoked once for every feature!. We tried to tinker with this transformer's properties but we didn't fins a way to make it accept several registers at once. Just wondering if we missed something or that is the way the WorkspaceRunner is supposed to work.

 

 

That's correct, the WorkspaceRunner will execute once for every incoming feature. This is by design.

 

If you only need to execute it once, you can e.g. use a Sampler to only use the first incoming feature as a trigger.

 

What do you mean by "several registers at once"?
That's correct, the WorkspaceRunner will execute once for every incoming feature. This is by design.

 

If you only need to execute it once, you can e.g. use a Sampler to only use the first incoming feature as a trigger.

 

What do you mean by "several registers at once"?
I mean all the registers read from all the different sources. We found the Smallworld reader is quite time-consuming to open, so, the idea was to open the reader, send the whole lot of data to the WorkspaceRunner, let the 'child workspace' do their thing transforming and merging the data and finally writing the data. But, as you said, this transformer doesn't opperates this way.

 

So, I understand, the way to go in order to execute several workspaces for a long series of data really is to call the frameworks from a batch process, as we suspected.

 

 


Reply