Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 60 additions & 72 deletions Cargo.lock

Large diffs are not rendered by default.

664 changes: 332 additions & 332 deletions Cargo.toml

Large diffs are not rendered by default.

10 changes: 9 additions & 1 deletion docs/engine/GASOLINE/GOTCHAS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# Gotchas

TODO
## Signal tags

Internally, it is more efficient to order signal tags in a manner of most unique to least unique:

- Given a workflow with tags:
- namespace = foo
- type = normal

The signal should be published with `namespace = foo` first, then `type = normal`
4 changes: 2 additions & 2 deletions docs/engine/GASOLINE/WORKFLOW_HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ If we want this workflow to remain the same but new workflows to execute a diffe
// Activity foo
ctx.activity(...).await?;

match ctx.check_version(2).await {
match ctx.check_version(2).await? {
// The existing workflow will always match this path because the next event (activity bar) has version 1
1 => {
// Here we need to keep the workflow steps as expected by the history, run activity bar
Expand All @@ -81,7 +81,7 @@ match ctx.check_version(2).await {
}
}

ctx.sleep().await
ctx.sleep().await?;
```

Version checks are durable because if history already exists at the location they are added then they do not manipulate the database and read the version of that history event. But if the version check is at the end of the current branch of events (as in a new workflow), it will be inserted as an event itself. This means the workflow history for both workflows will look like this:
Expand Down
Loading
Loading