This documentation is intended for beta users only. This functionality is not available to most Appian customers, and is not part of the released and supported platform. If you are interested in enrolling in the beta program, please contact your Appian representative. |
Processes are the life force of any business. Therefore, it's important to understand and carefully consider any changes you plan to make to those processes.
This page describes how to enable your process to use the new elastic process execution engine, and what impact that will have on your new or existing process.
We highly recommend you review this page in its entirety before enabling autoscaling, so that you fully understand the impacts and minimize development rework if a configuration or node you need to use is not available using the new engine.
If you're designing a new process model or flow, take a look at best practices for EPEx to familiarize yourself with recommended design implementations for specific use cases.
It's important to know about which process model nodes configurations are supported before you enable autoscaling mode. You'll save time developing and debugging your processes by understanding what's possible when autoscaling mode is enabled for your process models.
If you are building a brand new process model, we recommend that you enable autoscaling before you begin. An icon is shown when autoscaling mode is enabled, and this makes it easy to see whether a model is configured to run in that mode.
The palette makes it easy for you to design your process models because it will only show nodes and smart services that can be used with autoscaling mode.
For the beta, a set of the most commonly used nodes and smart services is available for you to use in your process models.
Note: Plug-ins and deprecated smart services do not work in process models with autoscaling enabled.
Node or smart service | Supported? | |
---|---|---|
Activities | ||
Script Task | Yes | |
Subprocess | No | |
Gateways | ||
AND | Yes | |
OR | Yes | |
XOR | Yes | |
Complex | Yes | |
Events | ||
Start Node | Yes | |
End Node | Yes | |
Receive Message Event | No | |
Rule Event | No | |
Send Message Event | No | |
Timer Event | No | |
Human tasks - not supported for beta | ||
AI Skills - not supported for beta | ||
Analytics - not supported for beta | ||
Business Rules - not supported for beta | ||
Communication - not supported for beta | ||
Data Services | ||
Delete Records Smart Service | No | |
Write Records Smart Service | Yes | |
Delete from Data Store Entities Smart Service | No | |
Execute Stored Procedure Smart Service | No | |
Query Database Smart Service | No | |
Sync Records Smart Service | No | |
Write to Data Store Entity Smart Service | Yes | |
Write to Multiple Data Store Entities Smart Service | Yes | |
Document Generation - not supported for beta | ||
Document Management - not supported for beta | ||
Identity Management - not supported for beta | ||
Integrations and APIs | ||
Call Integration Smart Service | Yes | |
Call Web Service Smart Service | No | |
Invoke SAP BAPI Smart Service | No | |
Process Management | ||
Cancel Process Smart Service | No | |
Complete Task Smart Service | No | |
Modify Process Security Smart Service | No | |
Start Process Smart Service | Yes | |
Robotic Tasks - not supported for beta | ||
Social - not supported for beta | ||
Test Management - not supported for beta |
This section describes which configurations are unsupported or ignored at both the process level and the node level. Refer to the What's supported? section to determine if the node or smart service you want to use is supported when autoscaling is enabled for your process model.
Unsupported configurations block you from saving and publishing the process model. Disable or remove all unsupported configurations to proceed.
Ignored configurations are not applied when running in autoscaling mode, but they do not block you from saving and publishing the process model.
Location | Configuration | Unsupported or ignored? |
---|---|---|
General tab | Process Priority | Ignored |
Process Start Form | Entire tab | Unsupported |
Deadlines tab | Entire tab | Ignored |
Alerts tab | Entire tab | Ignored |
Data Management tab | Entire tab | Ignored |
Swimlanes > Assignment tab | Assign all nodes in this lane to a person or group of people | Unsupported |
Flow properties | Enable activity chaining | Unsupported |
When autoscaling is enabled, the number of executions for each node is limited to 10,000, regardless of any node configurations. This limit is most likely to be encountered in process design using a looping flow.
The following configurations are unsupported on all relevant nodes in a process model where autoscaling is enabled.
Location | Configuration |
---|---|
General tab | End condition |
General tab | Default task priority |
General tab | Default task priority > Allow child processes to inherit the parent process' priority |
General tab | Quick task |
Start Event > General tab | Activity Chaining |
Start Event > Triggers tab | Receive Message |
Start Event > Triggers tab | Timer |
End Event > Results tab | Send Message |
End Event > Results tab | Terminate Process |
Escalations | Escalation Timer |
Scheduling tab | Don't start this node until |
Scheduling tab | Repeat this node |
Assignment tab | Assigned as a Task |
Exceptions | Receive Message |
Exceptions | Timer |
Exceptions | Rule |
Other tab > Deadlines | Enable deadlines |
Other tab > Multiple Instances | Automatically run multiple instances of this node |
Other tab > Execution options | Refresh Default Values When Form Viewed |
Other tab > Execution options | Confirmation URL |
Other tab > Execution options | Allow users to step back to this node from the next chained activity |
Other tab > Execution options | Delete previously completed/cancelled instances |
Other tab > Execution options | Keep a record of the form as submitted for future reference |
Other tab > Execution options | Do not create if active instances exist |
Other tab > Execution options | Delete previous instances that are still active |
When a process encounters a logic gateway, any expressions within the gateway are run by initiator
by default, or whichever assignment is configured in the swimlane the logic gate is in.
OR and XOR gateways are immediately reset when the output flow is triggered. You no longer need to put an empty script task before the gate when designing a looping flow to achieve this behavior.
Configurations on the Scheduling, Assignment, Exceptions, and Other tabs aren't supported.
When you enable autoscaling mode, some process execution behavior is different from existing behavior. This table highlights those differences.
Summary | Current Behavior | Behavior in EPEx |
---|---|---|
Logic gates in swimlanes | Logic gates always run as the process initiator, even when in a swimlane configured to run as designer. | Logic gates in EPEx abide by swimlane configuration, but default to process initiator when the node is not in a swimlane. |
Floating nodes (no incoming flow) | Any node that has no incoming flow will start when the process model is started. | Floating nodes are not supported and will cause design time errors. Only nodes with incoming flows are executed. |
Flow completion | If no flows or events are active after this node completes, the process will be paused by exception. | Flows complete when reaching a -None- state or a node with no output flow. This allows all other flows to continue and the process to complete. |
Logic gate reset | Logic gates are not reset until all incoming flows have been executed. This means an OR gate with two incoming flows in a looping flow will not execute again until both flows have executed. | Execute the outgoing flows from a logic gate any time an outgoing flow is run, resetting the gate immediately. |
Node instance limit | Limited to 1000. | Limited to 10000. |
loggedInUser() | When loggedInUser() is queried in a node, it is set to Administrator as opposed to the correct value (the currently logged in user) | When loggedInUser() is called in a node set to run as initiator, process initiator is returned (user or
service account that kicked off the process).
When a node is set to run as designer, the user that published the model is returned. At the process level (in expressions like the process name), the initiator will be returned. |
Process variable size | Process variable size is unlimited. | Process variable size is restricted to 1 MB. |
To enable autoscaling mode for a new or existing process:
Some configurations, nodes, and smart services aren't compatible with the autoscaling mode. When you validate a process model with autoscaling enabled, you'll see warnings, errors, and design guidance messages pertaining to your model's compatibility. These messages help you understand what you need to change or refactor before your process can execute successfully.
Using the New Engine