build your first basic workflow experimentation#3994
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…ports and add hideunsupportedlanguage
… add snipsync where needed, merge task queue explanation into step 3 with constants tip, renumber steps
…ground for diagram, simplify worker intro text, java note spacing
|
I'd love to see the name of the page and in the left hand nav be something more like: I'm mainly concerned with this appearing to be 'build your first net new workflow' which it really isn't - and that's something we do want to solve. |
- Cut from 2,248 to 1,771 lines (1,133 lines removed) - Replaced SetupSteps side-panel pattern with inline code blocks - Merged Steps 3+4+"Run" into a single "Run the application" section - Removed <details open>, Introduction heading, and "Let's Recap" sub-step - Condensed intro prose to three sentences; moved prereqs to a short callout - Worker code now co-located with its run command per SDK tab - Removed unused imports (SetupSteps, CodeSnippet)
tlalfano
left a comment
There was a problem hiding this comment.
Added my notes! Overall looking so good, loving this option of adding more tailored quick starts for users and can't wait to add more.
|
|
||
| ### Activities | ||
|
|
||
| Activities do the real work. Each one calls an external service. If an Activity fails, Temporal retries it. The three Activities in this app: Withdraw, Deposit, and Refund. |
There was a problem hiding this comment.
This phrasing sounds a little odd, maybe 'There are three Activities' ?
| Start the local Temporal server. This runs the scheduler, state store, and Web UI at [localhost:8233](http://localhost:8233). The `--db-filename` flag persists Workflow state to disk, which is required for the crash recovery demo in Part 2. | ||
|
|
||
| :::note Port conflict | ||
| If you get an `address already in use` error, a previous process may still hold port 7233. Run `lsof -ti:7233 | xargs kill` on macOS/Linux to clear it. |
There was a problem hiding this comment.
In the sentence above, we say the UI is running on 8233, but in this sentence we talk about port conflicts with 7233, where the temporal service is running, but we have never intro'ed that info even though we are referencing 7233 throughout the sample application code.
|
|
||
| Start the Worker. It connects to Temporal, polls the Task Queue, and executes your Workflow and Activity code. Leave it running. | ||
|
|
||
| :::note Java: first-run compile time |
There was a problem hiding this comment.
Not a deal breaker, but is there a way to only display this when Java is active? if its a massive lift its not worth spending a ton of time on imo
There was a problem hiding this comment.
This will likely need updating soon, UI colors and treatments have changed a bit.
| <img src="/img/moneytransfer/webuisample.png" alt="Temporal Web UI showing a completed money transfer Workflow" style={{maxWidth: '100%', height: 'auto'}} /> | ||
| </div> | ||
|
|
||
| Click on the Workflow in the list to see the full event history. In Part 2, you'll use that history to debug a live failure. |
There was a problem hiding this comment.
I get to the bottom of part 1, and I don't have an easy way to get to Part 2. I have to go all the way back to the top to click part 2. The footer of the page also suggests that 'Evaluate' is the next page that I should go to.
|
|
||
| ## Scenario A: Crash recovery | ||
|
|
||
| The goal is to show that Temporal stores Workflow state durably. State lives on the server, not in the Worker process, and survives server restarts. |
There was a problem hiding this comment.
Phrasing feels internal, perhaps 'this scenario will show that Temporal....'
| { id: 'workflow', label: 'Workflow Status', value: 'RUNNING', status: 'running' } | ||
| ]} /> | ||
|
|
||
| :::note Python and .NET: move quickly |
There was a problem hiding this comment.
Is there an important reason for this? Feels like extra work for the end user while learning
|
|
||
| ### Step 3: Fix the bug and redeploy | ||
|
|
||
| Stop the Worker (`Ctrl+C`) and revert your change. Put the working deposit line back and remove (or re-wrap) the failing version. Then restart the Worker in Terminal 2: |
There was a problem hiding this comment.
In step 2 we have a code snippet that shows exactly what to comment/uncomment, should we do the same here? put the line back or re-wrap failing version sounds like a different instruction than step 2
| - **.NET**: Terminal 3 is still running and prints the transfer result when the Workflow completes. | ||
|
|
||
| :::tip | ||
| You just fixed a bug in a running application without losing state or restarting the transaction. Temporal stored every completed step, so Withdraw was not re-run. Execution resumed from the first failing Activity and completed from there. |
There was a problem hiding this comment.
I'd love to see this as an explicit step to review instead of a tip. I'm imagining an image of event history, or even timeline view where it shows very clearly that Withdraw was successful (green), but the deposit step continually retried (red).
What does this PR do?
https://temporal-documentation-git-tutorial-layout-money-transfe-0fc0c4.preview.thundergun.io/build-your-first-basic-workflow/build-your-first-workflow
Notes to reviewers
files changed include new components for interaction and sdk boxed logos
aiming for: concise + engaging, dev-to-dev tone, consistent interactions, progressive disclosure.
can include sdk box logos in the sdk tabs section in the future