Skip to content

Commit 9811114

Browse files
Merge branch 'main' into docs/spring-ai-integration
2 parents a27d432 + 709bc4a commit 9811114

8 files changed

Lines changed: 577 additions & 2 deletions

File tree

docs/develop/plugins-guide.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -976,6 +976,9 @@ worker = Temporalio::Worker.new(
976976
</SdkTabs.Ruby>
977977
</SdkTabs>
978978

979-
Check for duplicate side effects or other types of failures.
979+
Inside this replay regime, you should test for duplicate side effects or other types of failures. When testing for duplicate side effects, it may not be sufficient to simply have a counter that increments once per effect, as activities may be retried. Instead, consider these patterns:
980+
981+
- count `ActivityTaskScheduled` events of the expected activity type in workflow history (one per intended call, independent of retries),
982+
- or accumulate activity IDs in a concurrency-safe set and assert on its size (different scheduled activities get different IDs; retries of the same scheduled activity share one).
980983

981984
It's harder to test against side effects to global variables, so this practice is best avoided entirely.

docs/develop/python/index.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ From there, you can dive deeper into any of the Temporal primitives to start bui
4040
- [Message passing](/develop/python/workflows/message-passing)
4141
- [Schedules](/develop/python/workflows/schedules)
4242
- [Timers](/develop/python/workflows/timers)
43+
- [Versioning](/develop/python/workflows/versioning)
44+
- [Workflow Streams](/develop/python/workflows/workflow-streams)
4345

4446
## [Activities](/develop/python/activities)
4547

docs/develop/python/integrations/index.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ The following integrations are available between the Temporal Python SDK and thi
2424
| ----------------- | --------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
2525
| Braintrust | Observability | [braintrust.dev](https://braintrust.dev/docs) | [Guide](./braintrust.mdx) |
2626
| Google ADK | Agent framework | [adk.dev](https://adk.dev/) | [Guide](https://adk.dev/integrations/temporal/) |
27-
| Mastra | Agent framework | [mastra.ai](https://mastra.ai/docs) | [Guide](https://mastra.ai/guides/deployment/temporal) |
2827
| OpenAI Agents SDK | Agent framework | [openai.github.io](https://openai.github.io/openai-agents-python/) | [Guide](https://github.com/temporalio/sdk-python/blob/main/temporalio/contrib/openai_agents/README.md) |
2928
| Pydantic AI | Agent framework | [ai.pydantic.dev](https://ai.pydantic.dev/) | [Guide](https://ai.pydantic.dev/durable_execution/temporal/) |
3029
| Tenuo | Governance | [tenuo.ai](https://tenuo.ai/docs) | [Guide](https://tenuo.ai/temporal) |

docs/develop/python/workflows/index.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ import * as Components from '@site/src/components';
2626
- [Schedules](/develop/python/workflows/schedules)
2727
- [Timers](/develop/python/workflows/timers)
2828
- [Versioning](/develop/python/workflows/versioning)
29+
- [Workflow Streams](/develop/python/workflows/workflow-streams)

docs/develop/python/workflows/workflow-streams.mdx

Lines changed: 567 additions & 0 deletions
Large diffs are not rendered by default.

docs/develop/typescript/integrations/index.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ The following AI framework and tooling integrations are available for the Tempor
2020
| ---------------- | --------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------ |
2121
| AI SDK by Vercel | Agent framework | [ai-sdk.dev](https://ai-sdk.dev/docs/introduction) | [Guide](/develop/typescript/integrations/ai-sdk) |
2222
| Braintrust | Observability | [braintrust.dev](https://braintrust.dev/docs) | [Guide](https://www.braintrust.dev/docs/integrations/sdk-integrations/temporal#typescript) |
23+
| Mastra | Agent framework | [mastra.ai](https://mastra.ai/docs) | [Guide](https://mastra.ai/guides/deployment/temporal) |

sidebars.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ module.exports = {
477477
'develop/python/workflows/schedules',
478478
'develop/python/workflows/timers',
479479
'develop/python/workflows/versioning',
480+
'develop/python/workflows/workflow-streams',
480481
]
481482
},
482483
{
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"all_stable_ip_ranges":["3.229.203.187/32","32.195.242.129/32","34.208.249.29/32","34.211.38.49/32","34.227.237.139/32","35.170.146.46/32","44.207.172.91/32","44.214.48.214/32","44.237.88.255/32","52.6.153.180/32","52.204.167.77/32","54.84.220.125/32","54.152.76.20/32","54.185.213.9/32","54.187.32.70/32","54.201.80.128/32","98.91.139.193/32","100.23.17.212/32","100.51.115.64/32","136.115.61.78/32","136.117.224.20/32","184.32.170.131/32"],"clouds":{"aws":{"regions":{"us-east-1":{"stable_ip_ranges":["3.229.203.187/32","32.195.242.129/32","34.227.237.139/32","35.170.146.46/32","44.207.172.91/32","44.214.48.214/32","52.6.153.180/32","52.204.167.77/32","54.84.220.125/32","54.152.76.20/32","98.91.139.193/32","100.51.115.64/32"]},"us-west-2":{"stable_ip_ranges":["34.208.249.29/32","34.211.38.49/32","44.237.88.255/32","54.185.213.9/32","54.187.32.70/32","54.201.80.128/32","100.23.17.212/32","184.32.170.131/32"]}}},"gcp":{"regions":{"us-central1":{"stable_ip_ranges":["136.115.61.78/32"]},"us-west1":{"stable_ip_ranges":["136.117.224.20/32"]}}}}}

0 commit comments

Comments
 (0)