OL Learn

Startup Processes

I’ve been investigating Startup processes, and I’m not sure if I understand the premise entirely.

Is a Startup Process always called for each process which is triggered by an input condition? Are Startup processes run once (based on input file existence), and then the after input file being removed, considered no longer needed?

What input conditions are supported for startup processes? Can a startup process run without input data?

What output conditions are supported for startup processes? Can a startup process end without writing output?

Is the input data requirement on a Startup process the same input on a standard process? (ie. same file?)

Are there any worked examples for Startup processes, in documentation for reference?

Thanks

A Startup process is exactly the same as a standard process, with one exception:

  • it runs only once, when the Workflow service is started.

You may have several Startup processes, they will run exactly in the order that they appear in the Workflow Configuration tool.

Note that when the service starts, no other process can start running until all Startup processes have completed.

1 Like

My experience here seems somewhat different to what you have described. (2020.1)

My startup process is composed of 3 tasks,

  • (Capture Folder “settings.json”)
  • (Run Script)
  • (Send To Folder, “settings.json.bak”)

As a result of this architecture, the process runs once, but fails to correctly load the settings if the Workflow service is restarted, as the “settings.json” file is not found.

I have also tried (Send to Folder, “settings.json”), as the third task, but the Startup Process runs repetitively, and the Workflow service cannot be stopped using the Workflow Designer app. You have to use the Windows Task Manager to kill the Workflow Service ‘ppwatch8’.

Can you please advise how to ensure that the Startup Process runs the Script, once, and exits cleanly?

Thanks.

Instead of having it start with a Capture Folder, start it with a Create File. Then use the Load External File to load your JSON file. the end can simply be a Delete File.

Create File
Load External File
Run Script
Delete File