Skip to content

Commit 1962233

Browse files
authored
perf(message passing): added detail around data classes and serialization (#4325)
1 parent 5e67e90 commit 1962233

2 files changed

Lines changed: 2 additions & 4 deletions

File tree

docs/develop/dotnet/message-passing.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@ Follow these guidelines when writing your message handlers:
3737

3838
- Message handlers are defined as methods on the Workflow class, using one of the three attributes: [`WorkflowQueryAttribute`](https://dotnet.temporal.io/api/Temporalio.Workflows.WorkflowQueryAttribute.html), [`WorkflowSignalAttribute`](https://dotnet.temporal.io/api/Temporalio.Workflows.WorkflowSignalAttribute.html), and [`WorkflowUpdateAttribute`](https://dotnet.temporal.io/api/Temporalio.Workflows.WorkflowUpdateAttribute.html).
3939
- The parameters and return values of handlers and the main Workflow function must be [serializable](/dataconversion).
40-
- Prefer data classes to multiple input parameters.
41-
Data class parameters allow you to add fields without changing the calling signature.
40+
- Prefer data classes to multiple input parameters. Data class parameters allow you to add fields without changing the calling signature. Keep in mind that serialization and deserialization can fail with the default data converter if the new field does not have a default value.
4241

4342
### Query handlers {#queries}
4443

docs/develop/python/message-passing.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ Follow these guidelines when writing your message handlers:
4242

4343
- Message handlers are defined as methods on the Workflow class, using one of the three decorators: [`@workflow.query`](https://python.temporal.io/temporalio.workflow.html#query), [`@workflow.signal`](https://python.temporal.io/temporalio.workflow.html#signal), and [`@workflow.update`](https://python.temporal.io/temporalio.workflow.html#update).
4444
- The parameters and return values of handlers and the main Workflow function must be [serializable](/dataconversion).
45-
- Prefer [data classes](https://docs.python.org/3/library/dataclasses.html) to multiple input parameters.
46-
Data class parameters allow you to add fields without changing the calling signature.
45+
- Prefer [data classes](https://docs.python.org/3/library/dataclasses.html) to multiple input parameters. Data class parameters allow you to add fields without changing the calling signature. Keep in mind that serialization and deserialization can fail with the default data converter if the new field does not have a default value.
4746

4847
### Query handlers {#queries}
4948

0 commit comments

Comments
 (0)