Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs updates #111

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

Docs updates #111

wants to merge 8 commits into from

Conversation

dustinblack
Copy link
Member

Changes introduced with this PR

Some fixes and cleanup of the getting started guide, and some expansion of the flow control docs.


By contributing to this repository, I agree to the contribution guidelines.

Copy link
Contributor

@dbutenhof dbutenhof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool

docs/arcaflow/workflows/flow-control.md Outdated Show resolved Hide resolved
docs/arcaflow/workflows/flow-control.md Outdated Show resolved Hide resolved
docs/arcaflow/workflows/flow-control.md Outdated Show resolved Hide resolved

Any time the input of a step relies on the output of another step via an [Arcaflow
expression](http://127.0.0.1:8000/arcaflow/workflows/expressions/), an implicit step
relationship is established. In this case, the Arcaflow engine holds the execution of the dependent step until the output from the supplier step is available.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line doesn't wrap like the others.

Comment on lines 343 to 345
It is also possible to use oneof conditions as part of the `wait_for` flow control. An
explicit relationshp between steps in a workflow in this case becomes a oneof condition
for either the requested step output or otherwise the disabled state of the step.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: relationshp
Maybe also state that this will create an OR relationship that will allow the step to run either when the step is disabled OR when it gets the intended result.

Comment on lines +11 to +12
the Arcaflow engine holds the execution of the dependent step until the output from the
supplier step is available.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"dependent" to "supplier" sounds like an odd combination. Maybe "supplier" -> "consumer" to focus more on the data dependency?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may make sense to also explicitly say the step names so that the reader doesn't need to look through the workflow below to figure out which one is the dependent/comsumer step or supplier step.

Comment on lines +165 to +169
To use `!oneof` for graceful handling of disabled steps, the oneof should depend on ONE
OF the success output and the disabled output, which will output either the success
output or the disabled output.

The oneof tag is a method of creating a schema `one_of_string` type from values present in the workflow.
The oneof tag is a method of creating a schema `one_of_string` type from values present
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the "oneof" references here should probably all be rendered as oneof so the eye isn't expecting English.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, good point. This was missed in the prior PR. This section was only changed in width in this PR.

Comment on lines +262 to +265
the workflow to succeed when a step crashes, the optional tags could be the right
feature for your workflow.

The alterative methods are the "optional" family of expression tags. The `oneof` tags instructed the workflow to
build a `oneof_string` type with OR dependencies, requiring one of the options to have an output for the oneof to
resolve. Meanwhile, the "optional" family of tags can resolve without an output by utilizing optional object property
The alterative methods are the "optional" family of expression tags. The `oneof` tags
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You introduce the concept of "optional" tags in the first paragraph, and then introduce the concept again in the following paragraph, which sounds repetitive. Maybe the final phrase of the first paragraph should be "there are alternative methods." Or else drop "The alternative methods are" from the follow-up and just start explaining the "optional" family. (And "optional" family seems better than "optional tags", which suggests the English concept "optional" rather than the keywords representing optional dependencies in the workflow. 😆 )

Comment on lines +11 to +12
the Arcaflow engine holds the execution of the dependent step until the output from the
supplier step is available.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may make sense to also explicitly say the step names so that the reader doesn't need to look through the workflow below to figure out which one is the dependent/comsumer step or supplier step.


## Explicit Step Relationships

Sometimes it is important to serialize workflow steps even if they do not have a data
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To make it clear what we mean by serialize the steps, I would say "serialize the order of workflow steps" instead.

Comment on lines +165 to +169
To use `!oneof` for graceful handling of disabled steps, the oneof should depend on ONE
OF the success output and the disabled output, which will output either the success
output or the disabled output.

The oneof tag is a method of creating a schema `one_of_string` type from values present in the workflow.
The oneof tag is a method of creating a schema `one_of_string` type from values present
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, good point. This was missed in the prior PR. This section was only changed in width in this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants