Question

How do I run a creator/transformer at the very end?

  • 15 March 2022
  • 6 replies
  • 25 views

I have a script that strips a bunch of feature layers out into a GDB database that is then zipped. I then made a Creator that attached to ftpCaller. I set in the properties 'create at end' to be yes.

 

This seems to work, however i notice it seems to still be doing the upload while other features are writing to the gdb. how can i say that i want to run the creator and the ftpcaller after every other feature has been written to the gdb? thanks


6 replies

Userlevel 2
Badge +17

Hi @traviss​,

I would recommend using a FeatureWriter transformer to write to the GDB, then sending the Summary output feature to the FTPCaller to trigger it. This will ensure the GDB is completely written before any FTP is done.

The FeatureReader and FeatureWriter are great replacements for traditional readers and writers if you are doing any sequence dependant work in your workspace. They also make it easy to use schemas features for dynamic writing.

thanks but its a fairly involved script i'd rather not have to re-write at the moment. is there really no one in FME to have the FTPCaller run last? Or just to re order the transformer list? I add a creator and ftpcaller transformer and FME is dropping it right in the middle of the transformer list for some reason and its impossible to reorder.

 

Badge +2

@traviss​ If you cant use the FeatureWriter as @daveatsafe​ suggests, the Creator has a Create at end parameter.

@Mark Stoakes​ the creator doesn't actually run at the end when I set that option. It runs *near* the end while other features are still being written to the GDB so its not a complete dataset that gets uploaded. I solved this by breaking it into two scripts and use FME server to run the first script and then run the second script after completion of the first script which is just the Creator -- > FTPCaller. Seems to work fine this way.

Userlevel 1
Badge +10

@Mark Stoakes​ the creator doesn't actually run at the end when I set that option. It runs *near* the end while other features are still being written to the GDB so its not a complete dataset that gets uploaded. I solved this by breaking it into two scripts and use FME server to run the first script and then run the second script after completion of the first script which is just the Creator -- > FTPCaller. Seems to work fine this way.

You could put a decelerator in between the creator and the ftpcaller to ensure that all features are written to the gdb first. In my experience, you can encounter the same issue even with the feature writer if you're writing a lot of data across a slow network. FME considers that it has written all features as it has sent all the information but data is still being written to the gdb.

You could put a decelerator in between the creator and the ftpcaller to ensure that all features are written to the gdb first. In my experience, you can encounter the same issue even with the feature writer if you're writing a lot of data across a slow network. FME considers that it has written all features as it has sent all the information but data is still being written to the gdb.

@ebygomm​ i actually tried that as well. The problem is FME put the creator--> ftpcaller transformer in the middle of my other transformers and I could not re order them. So it would hit the decelerator and pause and then would resume with the same issue where its uploaded before the other transformers finished writing.

Reply