Skip to content

Commit d75d2d3

Browse files
committed
type hints for all returns
1 parent d9a5f50 commit d75d2d3

5 files changed

Lines changed: 13 additions & 13 deletions

File tree

resource_pool/resource_allocator.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from contextlib import asynccontextmanager
22
from datetime import timedelta
3-
from typing import Optional
3+
from typing import AsyncGenerator, Optional
44

55
from temporalio import activity, workflow
66
from temporalio.client import Client
@@ -20,7 +20,7 @@
2020

2121
# Use this class in workflow code that that needs to run on locked resources.
2222
class ResourceAllocator:
23-
def __init__(self, client: Client):
23+
def __init__(self, client: Client) -> None:
2424
self.client = client
2525

2626
@activity.defn
@@ -48,13 +48,13 @@ async def acquire_resource(
4848
*,
4949
already_acquired_resource: Optional[AcquiredResource] = None,
5050
max_wait_time: timedelta = timedelta(minutes=5),
51-
):
51+
) -> AsyncGenerator[AcquiredResource, None]:
5252
warn_when_workflow_has_timeouts()
5353

5454
resource = already_acquired_resource
5555
if resource is None:
5656

57-
async def assign_resource(input: AcquireResponse):
57+
async def assign_resource(input: AcquireResponse) -> None:
5858
workflow.set_signal_handler("assign_resource", None)
5959
nonlocal resource
6060
resource = AcquiredResource(
@@ -91,7 +91,7 @@ async def assign_resource(input: AcquireResponse):
9191
await handle.signal(resource.release_signal_name)
9292

9393

94-
def warn_when_workflow_has_timeouts():
94+
def warn_when_workflow_has_timeouts() -> None:
9595
if has_timeout(workflow.info().run_timeout):
9696
workflow.logger.warning(
9797
f"ResourceLockingWorkflow cannot have a run_timeout (found {workflow.info().run_timeout}) - this will leak locks"

resource_pool/resource_pool_workflow.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class ResourcePoolWorkflowInput:
2323
@workflow.defn
2424
class ResourcePoolWorkflow:
2525
@workflow.init
26-
def __init__(self, input: ResourcePoolWorkflowInput):
26+
def __init__(self, input: ResourcePoolWorkflowInput) -> None:
2727
self.resources = input.resources
2828
self.waiters = input.waiters
2929
self.release_signal_to_resource: dict[str, str] = {}
@@ -32,7 +32,7 @@ def __init__(self, input: ResourcePoolWorkflowInput):
3232
self.release_signal_to_resource[holder.release_signal] = resource
3333

3434
@workflow.signal
35-
async def add_resources(self, resources: list[str]):
35+
async def add_resources(self, resources: list[str]) -> None:
3636
for resource in resources:
3737
if resource in self.resources:
3838
workflow.logger.warning(
@@ -46,7 +46,7 @@ async def add_resources(self, resources: list[str]):
4646
await self.assign_resource(resource, next_holder)
4747

4848
@workflow.signal
49-
async def acquire_resource(self, request: AcquireRequest):
49+
async def acquire_resource(self, request: AcquireRequest) -> None:
5050
internal_request = InternalAcquireRequest(
5151
workflow_id=request.workflow_id, release_signal=None
5252
)
@@ -65,7 +65,7 @@ async def acquire_resource(self, request: AcquireRequest):
6565

6666
async def assign_resource(
6767
self, resource: str, internal_request: InternalAcquireRequest
68-
):
68+
) -> None:
6969
self.resources[resource] = internal_request
7070
workflow.logger.info(
7171
f"workflow_id={internal_request.workflow_id} acquired resource {resource}"
@@ -82,7 +82,7 @@ async def assign_resource(
8282
)
8383

8484
@workflow.signal(dynamic=True)
85-
async def release_resource(self, signal_name, *args):
85+
async def release_resource(self, signal_name, *args) -> None:
8686
if not signal_name in self.release_signal_to_resource:
8787
workflow.logger.warning(
8888
f"Ignoring unknown signal: {signal_name} was not a valid release signal."

resource_pool/resource_user_workflow.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class FailWorkflowException(Exception):
5151
@workflow.defn(failure_exception_types=[FailWorkflowException])
5252
class ResourceUserWorkflow:
5353
@workflow.run
54-
async def run(self, input: ResourceUserWorkflowInput):
54+
async def run(self, input: ResourceUserWorkflowInput) -> None:
5555
async with ResourceAllocator.acquire_resource(
5656
already_acquired_resource=input.already_acquired_resource
5757
) as resource:

resource_pool/starter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from resource_pool.shared import RESOURCE_POOL_WORKFLOW_ID
1616

1717

18-
async def main():
18+
async def main() -> None:
1919
# Connect client
2020
client = await Client.connect("localhost:7233")
2121

resource_pool/worker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from resource_pool.resource_user_workflow import ResourceUserWorkflow, use_resource
1010

1111

12-
async def main():
12+
async def main() -> None:
1313
logging.basicConfig(level=logging.INFO)
1414

1515
# Start client

0 commit comments

Comments
 (0)