I am trying to schedule multiple DMT loads to run in order one after another. I have tried using a combination of powershell and python. I can get it to work but the thing I’m struggling with is some way to confirm that the previous DMT has finished before running the next one. I looked into DMT playlists but it seems the wait option is not available if DMT is invoked via command line. Anyone done anything like this and have any advice? Thanks.
Hey Matt,
Can you share the nature of these workloads? You may be able to replace DMT with Functions and have a lot more control of error handling.
The workload is varied sadly. Basically how I have it setup right now is that a handful of BAQs have a specific prefix that are setup correctly for DMT. Then a script polls the rest endpoint for all baq’s with this prefix, exports them and then runs DMT on the exported files. Right now I check for the file that DMT puts in the directory when it’s done but I was curious if someone had something more elegant.
Not with DMT. PowerShell is great at pulling down data and calling Epicor Functions via REST. Maybe others have some thoughts using DMT if that’s the tool of choice.
Matt,
DMT has the playlist feature, where you can enable ‘wait’ on a file. That makes DMT wait until that file has finished processing before it starts the next one.
Can you create a playlist file with the wait flag for your files? If the file names are static, you can have a static file (or generate it dynamically). Then you can run playlists via the cmd line interface, I believe (haven’t tried that myself), so you should be able to call that same command line argument via powershell.
There should d be a log files generated for each dmt file that confirms the success of the load and if you have errors a new CSV that has the rows to be reloaded…, just hope you don’t error on any dependant data ![]()