Task Cancellation Policy
When a task execution is delayed by any means (i.e. a Wait task), it may become necessary to cancel its execution before that delay passes. For example, you want to wait for 2 minutes before turning off a light, but during the two minutes, a need to keep the light on arises. In this scenario, the Turn off task needs to be canceled. This is where the Task Cancellation Policy" comes into play, allowing such scenarios.
Task Cancellation Policy, or for short, TCP, has four possible options:
Never cancel tasks
Use this option to allow the task to execute even when conditions change
Cancel tasks on condition state change
This is the default option and will cancel any pending tasks if the parent condition's state changes. If the tasks are not executed as part of an IF statement, then this option is the same as Never cancel tasks
Cancel tasks on piston state change
This option will cancel any pending tasks if the piston's state changes.
Cancel tasks on condition or piston state change
This option is a combination of the previous two and will cancel the tasks if any of those conditions are met.