BeginPartialPushDesign
Node Action:
The BeginPartialPushDesign updates the design resource with the new partial push status.
Parameters:
se_type
BeginPartialPushDesign
se_type = BeginPartialPushDesignse_designId
The design ID to partial push
se_determineDesignId
A lambda to build up the design ID to partial push.
Example:
Partial Push: The following workflow allows you to update the partial push info and trigger a partial push workflow.
digraph workflow
{
entry [
se_type0 = DesignToolTrigger,
se_deferUntilOnline0 = false,
se_displayName0 = "Partial Push"
se_requiresConnection0 = true,
se_visibilityCondition0 = "(ctx, msLogger) => {
msLogger.LogInformation($\"DXI.PartialPush.entry\");
return true;
}
",
]
beginPartialPush[
// Set the PartialPush from NotPushed to PushInProgress
se_type0 = BeginPartialPushDesign,
se_designId0 = "",
se_determineDesignId0 = "(ctx, msLogger) => {
msLogger.LogInformation($\"DXI.BeginPartialPush {ctx.Event.design.id}\");
return ctx.Event.design.id;
}"
se_type1 = Timer,
se_delay1 = 5000,
]
callDynamicWorkflow[
se_type0 = Api,
se_method0 = "POST"
se_modifyRequest0 = "(request, ctx, log) => {
log.LogInformation(\"PartialPush\");
// Set request uri to the dynamic endpoint to trigger an on demand workflow
request.RequestUri = new Uri(\"api/v1/RunningWorkflow/Dynamic\",UriKind.RelativeOrAbsolute);
// Build request body with ancestral ID and state object
var body = new
{
workflowAncestralId = \"5ddab16f-7d3b-4a39-b43c-dbf74dfcba74\",
State = new
{
designId = ctx.Event.design.id,
},
};
log.LogInformation($\"DXI.Partial Push Design {ctx.Event.design.id}\");
request.Content = new StringContent(JsonConvert.SerializeObject(body), Encoding.UTF8, \"application/json\");
log.LogInformation($\"URI {request.RequestUri}\");
log.LogInformation($\"Content {JsonConvert.SerializeObject(body)} \");
log.LogInformation($\"Body {body.ToString()} \");
}",
se_service0 = "ExternalEvents"
se_resultVariable0 = "DynamicWorkflowResponse"
]
entry->beginPartialPush;
beginPartialPush->callDynamicWorkflow
callDynamicWorkflow->exit;
}