Skip to main content
Question

Combining two FME workbenches, where one creates a parameter (new directory) for the other to use?


Forum|alt.badge.img

I have two simple FME workbenches that I would like to combine into one/ or into a single process.

The first workbench “PostProcessingPublishingFolderCreation.fmw” creates a new directory, sub directories and copies across two .pdf files contained in one of the sub directories. One of the sub directories is called “processed stereo imagery”.

The second workbench “CopyJpegsAndDeleteUncompressed.fmw” copies some compressed tiffs to the newly created processed stereo imagery sub directory and deletes some uncompressed tiffs.

I’ve investigated using a workspace runner, but ran in to trouble trying to provide one of the parameters/inputs for the second workbench as this had not yet been created, the new directory, and sub directories including “processed stereo imagery”.

Essentially “PostProcessingPublishingFolderCreation.fmw” creates a new directory and sub directories, specifically a sub directly called “processed stereo imagery”. Then use the folder path for “processed stereo imagery” as an input to a Directory and File Pathnames Reader in “CopyJpegsAndDeleteUncompressed.fmw”.

Is there a way of combing these workbenches or streaming/ further automating the workflow? Something like waiting for the first work flow to finish then pausing and entering the newly created directory as a new parameter for the workbench and continuing running?

Workbenches posted below;

2 replies

ebygomm
Influencer
Forum|alt.badge.img+31
  • Influencer
  • April 24, 2019

I would have thought it could be all combined into one workspace, if you use a featurewriter to write to the file copy format and then carry on the process from the summary port.


david_r
Evangelist
  • April 24, 2019

I prefer the solution proposed by @egomm, but it's also possible to create a third "master" workspace that executes the two existing workspaces one after another.

If you need to retrieve the result from the first workspace in the second workspace, the easiest solution is to let the first workspace write the result to some intermediary file which is then picked up by the second workspace.

Alternatively, if you want to get (very) advanced, you can look into using the TransporterSender and TransporterReciever transformers.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings