FeatureFlags
in package
Feature flags help to smoothly introduce behavior changes that may affect existing workflows.
Also, there may be experimental features that are in the testing phase.
The flags should be set before the SDK classes are initialized.
Table of Contents
Properties
- $cancelAbandonedChildWorkflows : bool
- When a parent workflow is canceled, it will also cancel all its Child Workflows, including abandoned ones.
- $warnOnWorkflowUnfinishedHandlers : bool
- Warn about running Signal and Update handlers on Workflow finish.
- $workflowDeferredHandlerStart : bool
- Workflow handler must be called after all signals of the same tick are processed.
Properties
$cancelAbandonedChildWorkflows
When a parent workflow is canceled, it will also cancel all its Child Workflows, including abandoned ones.
public
static bool
$cancelAbandonedChildWorkflows
= true
This behavior is not correct and will be improved by default in the next major SDK version.
To fix the behavior now, set this flag to TRUE. In this case, be aware of the following:
- If you start an abandoned Child Workflow in the main Workflow scope, it may miss the cancellation signal if you await only on the Child Workflow.
- If you start an abandoned Child Workflow in an async scope Workflow::async(), that is later canceled, the Child Workflow will not be affected.
- You still can cancel abandoned Child Workflows manually by calling WorkflowStubInterface::cancel().
Tags
$warnOnWorkflowUnfinishedHandlers
Warn about running Signal and Update handlers on Workflow finish.
public
static bool
$warnOnWorkflowUnfinishedHandlers
= true
It uses Workflow::getLogger() to output a warning message.
Tags
$workflowDeferredHandlerStart
Workflow handler must be called after all signals of the same tick are processed.
public
static bool
$workflowDeferredHandlerStart
= false
Set to TRUE to enable this behavior.