Skip to content

Commit 61166af

Browse files
authored
Minor doc update (#305)
Fixes #293 Fixes #285 Fixes #291
1 parent d790468 commit 61166af

File tree

4 files changed

+131
-107
lines changed

4 files changed

+131
-107
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ event loop. This means task management, sleep, cancellation, etc have all been d
9292
- [Workflow Replay](#workflow-replay)
9393
- [OpenTelemetry Support](#opentelemetry-support)
9494
- [Protobuf 3.x vs 4.x](#protobuf-3x-vs-4x)
95+
- [Known Compatibility Issues](#known-compatibility-issues)
96+
- [gevent Patching](#gevent-patching)
9597
- [Development](#development)
9698
- [Building](#building)
9799
- [Prepare](#prepare)
@@ -1230,6 +1232,16 @@ versions can cause issues with the sandbox due to global state sharing. Temporal
12301232
protobuf 4.x library unless you absolutely cannot at which point some proto libraries may have to be marked as
12311233
[Passthrough Modules](#passthrough-modules).
12321234

1235+
### Known Compatibility Issues
1236+
1237+
Below are known compatibility issues with the Python SDK.
1238+
1239+
#### gevent Patching
1240+
1241+
When using `gevent.monkey.patch_all()`, asyncio event loops can get messed up, especially those using custom event loops
1242+
like Temporal. See [this gevent issue](https://github.com/gevent/gevent/issues/982) and
1243+
[this Python SDK issue](https://github.com/temporalio/sdk-python/issues/59) for more details.
1244+
12331245
# Development
12341246

12351247
The Python SDK is built to work with Python 3.7 and newer. It is built using

temporalio/worker/__init__.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@
1919
WorkflowInterceptorClassInput,
2020
WorkflowOutboundInterceptor,
2121
)
22-
from ._replayer import Replayer, ReplayerConfig
22+
from ._replayer import (
23+
Replayer,
24+
ReplayerConfig,
25+
WorkflowReplayResult,
26+
WorkflowReplayResults,
27+
)
2328
from ._worker import Worker, WorkerConfig
2429
from ._workflow_instance import (
2530
UnsandboxedWorkflowRunner,
@@ -34,6 +39,8 @@
3439
"WorkerConfig",
3540
"Replayer",
3641
"ReplayerConfig",
42+
"WorkflowReplayResult",
43+
"WorkflowReplayResults",
3744
# Interceptor base classes
3845
"Interceptor",
3946
"ActivityInboundInterceptor",

temporalio/worker/_workflow_instance.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -800,14 +800,14 @@ def workflow_start_activity(
800800
self,
801801
activity: Any,
802802
*args: Any,
803-
activity_id: Optional[str],
804803
task_queue: Optional[str],
805804
schedule_to_close_timeout: Optional[timedelta],
806805
schedule_to_start_timeout: Optional[timedelta],
807806
start_to_close_timeout: Optional[timedelta],
808807
heartbeat_timeout: Optional[timedelta],
809808
retry_policy: Optional[temporalio.common.RetryPolicy],
810809
cancellation_type: temporalio.workflow.ActivityCancellationType,
810+
activity_id: Optional[str],
811811
) -> temporalio.workflow.ActivityHandle[Any]:
812812
# Get activity definition if it's callable
813813
name: str
@@ -899,13 +899,13 @@ def workflow_start_local_activity(
899899
self,
900900
activity: Any,
901901
*args: Any,
902-
activity_id: Optional[str],
903902
schedule_to_close_timeout: Optional[timedelta],
904903
schedule_to_start_timeout: Optional[timedelta],
905904
start_to_close_timeout: Optional[timedelta],
906905
retry_policy: Optional[temporalio.common.RetryPolicy],
907906
local_retry_threshold: Optional[timedelta],
908907
cancellation_type: temporalio.workflow.ActivityCancellationType,
908+
activity_id: Optional[str],
909909
) -> temporalio.workflow.ActivityHandle[Any]:
910910
# Get activity definition if it's callable
911911
name: str

0 commit comments

Comments
 (0)