Interactive Mode
In complex processes unexpected errors can happen. The interactive mode allows you to define automation processes which, in different situations, can react different to errors.
Use Cases
Use interactive mode
- When parts of an automated process sometimes fail.
- An operator should be able to manually resolve errors and resume the processing.
- The same process sometimes also runs unattended.
Concept
The interactive mode feature is implemented as a Wrapper.
Importing the Wrapper bundle will provide you with a wrapper called interactive
.
When a flow which has the interactive
wrapper attached is started:
As all wrappers, the interactive
wrapper can be statically attached and configured. Please refer to Static Wrappers for more information.
Alternatively, the interactive
wrapper can be dynamically attached and configured. Please refer to Dynamic Wrappers for more information.
The most common usage is to statically attach and configure the interactive
wrapper to a flow or connector. This way all executions of the flow or connector will allow interactive operations in case an error occurs.
The interactive
wrapper provided by Cloudomation is considered an example which can be extended or modified to your needs.
Parameters
The interactive
wrapper accepts the following parameters:
Name | Type | Description | Required | Default value |
---|---|---|---|---|
interactive_limit_minutes | int | After how many minutes without user activity the user is considered "offline". | no | 30 |
archive_retries | boolean | If executions of previous tries should be archived. | no | True |
Examples
Starting a flow which can be restarted interactively
import flow_api
def handler(system: flow_api.System, this: flow_api.Execution):
this.using('interactive').flow('<name-of-a-flow>')
return this.success('all done')