You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+35-10Lines changed: 35 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -116,7 +116,7 @@ While there are implementations for other lanuages in the context of Azure Durab
116
116
117
117
The execution model for `go-workflows` follows closely the one created for Uber's [Cadence](https://cadenceworkflow.io) and which was then forked by the original creators for [Temporal.io](https://temporal.io).
118
118
119
-
TODO: describe in more detail here.
119
+
See https://cschleiden.dev/blog/2022-05-02-go-workflows-part2/ for some more details.
The returned `logger` implements the `Logger` interface, and already has the id of the activity, and the workflow instance and execution IDs set as default fields.
515
515
516
-
## Workflow Versioning
516
+
517
+
## Tools
518
+
519
+
### Analyzer
520
+
521
+
`/analyzer` contains a simple [golangci-lint](https://github.com/golangci/golangci-lint) based analyzer to spot common issues in workflow code.
522
+
523
+
### Diagnostics Web UI
524
+
525
+
For investigating workflows, the package includes a simple diagnostic web UI. You can serve it via:
It provides a simple paginated list of workflow instances:
534
+
535
+
<img src="./docs/diag-list.png" width="700">
536
+
537
+
And a way to inspect the history of a workflow instance:
538
+
539
+
<img src="./docs/diag-details.png" width="700">
540
+
541
+
## FAQ
542
+
543
+
### How are releases versioned?
544
+
545
+
For now this library is in a pre-release state. There are no guarantees given regarding breaking changes between (pre)-releases.
546
+
547
+
### Workflow versioning
517
548
518
549
For now, I've intentionally left out versioning. Cadence, Temporal, and DTFx all support the concept of versions for workflows as well as activities. This is mostly required when you make changes to workflows and need to keep backwards compatibility with workflows that are being executed at the time of the upgrade.
519
550
@@ -574,12 +605,6 @@ and only if a workflow instance was created with a version of `>= 2` will `Activ
574
605
575
606
This kind of check is understandable for simple changes, but it becomes hard and a source of bugs for more complicated workflows. Thereforefor now versioning is not supported and the guidance is to rely on **side-by-side** deployments. See also Azure's [Durable Functions](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-versioning) documentation for the same topic.
576
607
577
-
## `ContinueAsNew`
608
+
### `ContinueAsNew`
578
609
579
-
Both Temporal/Cadence and DTFx support `ContinueAsNew`. This essentially re-starts a running workflow as a new workflow with a new event history. This is needed for long running workflows where the history can become very large, negatively affecting performance. While `WorkflowInstance` supports an `InstanceID` and an `ExecutionID`, this feature is not yet implemented (and might not be).
580
-
581
-
## FAQ
582
-
583
-
### How are releases versioned?
584
-
585
-
For now this library is in a pre-release state. There are no guarantees given regarding breaking changes between (pre)-releases.
610
+
Both Temporal/Cadence and DTFx support `ContinueAsNew`. This essentially re-starts a running workflow as a new workflow with a new event history. This is needed for long running workflows where the history can become very large, negatively affecting performance. While `WorkflowInstance` supports an `InstanceID` and an `ExecutionID`, this feature is not yet implemented (and might not be).
0 commit comments