Better Workflow Control with Suspend, Resume and Replay #339
jhuckaby
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi folks,
xyOps v1.0.74 is out, and this release includes two new workflow features that are especially useful when you are building, testing or operating larger automation flows:
Both features are about giving you more control over what happens next. One helps during live operations, when a workflow needs a human decision before continuing. The other helps during workflow development, when you want to keep testing downstream logic without repeatedly running an expensive, slow or hard-to-reproduce step.
Custom Resume Flow
xyOps already has a Suspend Job action, which can pause a running workflow job until someone resumes it from the UI. In v1.0.74, suspended workflow sub-jobs can now resume in a more intentional way.
When a workflow sub-job is suspended by a completion action, the resume dialog now lets you choose what should happen after the job resumes:
This is handy for real-world approval and intervention flows. For example, you might suspend after a deployment validation step, inspect the result, then choose whether to continue on the happy path, jump to a rollback node, replay the current node, start the entire workflow over from the beginning, skip ahead to a cleanup node, or route into a manual follow-up branch.
The selector is shown when the Suspend Job action fires at the end of a workflow sub-job, such as
On Complete,On Success,On Any Error,On Warning,On Critical,On Abort, or a tag condition. It is not shown forOn Startsuspensions, because the job has not reached the point where workflow flow can be redirected yet.This is also available through the API using the optional
redirectproperty on resume_job.Docs: Custom Resume Flow
Replay Previous Jobs
The second new feature is Replay Previous Jobs.
Event and Job nodes can now be configured to replay a previous workflow job instead of launching a new one. When the workflow reaches that node, xyOps loads the selected previous job and treats it as if it just completed for the current node.
That means the saved job's output data, output files, tags,
workflowDataand result are passed forward into the rest of the workflow. Your downstream conditions still behave normally, includingOn Success,On Any Error,On Warning,On Critical,On Abortand tag-based routing.This is especially useful while developing or debugging workflows. You can run an expensive or slow step once, then replay that exact saved result while you keep working on the nodes that come after it.
Some examples:
Replay does not re-run actions attached directly to the replayed node, such as emails, web hooks, suspend actions, disable actions or delete actions. Those are considered part of the original job lifecycle. Replay only feeds the saved result back into workflow flow.
Docs: Replay Previous Jobs
Why These Fit Together
These two features complement each other nicely:
Together, they make workflows easier to develop, easier to debug and easier to operate when real-world decisions do not fit neatly into a single automatic path.
Related Commits
Suspend and Resume:
4022a714: Feature: Workflow Suspend/Resume: Allow user to select a target node to jump to after resume.a347eacd: Docs: Update docs for new workflow suspend/resume jump to node feature.Replay:
bfa862a5: Feature: Workflows: Add "Replay" feature to freeze a node to simulate a previous job.54ff7ac7: Docs: Update docs for new workflow replay feature.Thanks as always for following along. These workflow improvements came out of real usage and testing, and I hope they make it easier to build confident, understandable automation in xyOps.
Beta Was this translation helpful? Give feedback.
All reactions