I want to invoke FME batch process and general FME processes using c#, I have no idea about FME, can anyone please let me know if anything like this is possible?or is it possible in python, any help on this is most welcome. I'm thinking of making a system process file using c# which can automatically initiate FME process or FME batch at midnight. Thanks
3 Answers
You can certainly schedule FME processes using FME Server.
However, I believe you can also call an FME workbench using Python. This could easily be scheduled using Task Scheduler or something similar. I found this pdf on the Safe website of a Conterra webinar. On page 11 (Sample #2), they show how you can call an FME workspace from a Python script using the following code:
import os
os.system('fme.exe AnyWorkspace.fmw \
--SourceData AnySource \
--DestinationData AnyDest \
--AnyParam ParamValue')
The questions posted here and here might also be of assistance.
You can run FME as a command line with datasets as arguments. You should set up a script, then use C#, or Python, or whatever to run this workspace with your layers that you want to process as arguments.
Or you could try using FME to do it all, since you have it!
Yes, you can do this with any of the supported languages - including Python and (I believe) C#. You would need to use the iFMEWorkspaceRunner class of FME Objects.
There are eight different methods including run, promptRun, and runWithParameters
For more info see: http://evangelism.safe.com/fmeevangelist69/ or within FME look at:
<fme>/fmeobjects/cpp/apidoc/classIFMEWorkspaceRunner.html
<fme>/fmeobjects/python/apidoc/fmeobjects.FMEWorkspaceRunner-class.html