From 86d3824c95429fefab24976a229a21cd226681d5 Mon Sep 17 00:00:00 2001 From: Tomperez98 <tomasperezalvarez@gmail.com> Date: Mon, 6 Jan 2025 16:14:34 -0500 Subject: [PATCH] Remove batch commands --- src/resonate/actions.py | 6 +++--- src/resonate/context.py | 22 +++++----------------- src/resonate/dataclasses.py | 3 --- src/resonate/processor/traits.py | 4 ++-- src/resonate/queue.py | 4 ++-- src/resonate/task_sources/traits.py | 4 ++-- src/resonate/traits.py | 2 +- 7 files changed, 15 insertions(+), 30 deletions(-) diff --git a/src/resonate/actions.py b/src/resonate/actions.py index 6bd8f1a3..3c58e1a7 100644 --- a/src/resonate/actions.py +++ b/src/resonate/actions.py @@ -5,7 +5,7 @@ from typing_extensions import Self -from resonate.dataclasses import BatchCommand, DurablePromise +from resonate.dataclasses import DurablePromise from resonate.options import Options if TYPE_CHECKING: @@ -49,7 +49,7 @@ def to_rfi(self) -> RFI: @final @dataclass class LFC: - unit: Invocation[Any] | BatchCommand + unit: Invocation[Any] opts: Options = field(default=Options()) def options( @@ -86,7 +86,7 @@ def options(self) -> Self: @final @dataclass class LFI: - unit: Invocation[Any] | BatchCommand + unit: Invocation[Any] opts: Options = field(default=Options()) def options( diff --git a/src/resonate/context.py b/src/resonate/context.py index 1bf0482e..f0c34f6e 100644 --- a/src/resonate/context.py +++ b/src/resonate/context.py @@ -11,7 +11,7 @@ RFC, RFI, ) -from resonate.dataclasses import BatchCommand, DurablePromise, Invocation, RegisteredFn +from resonate.dataclasses import DurablePromise, Invocation, RegisteredFn from resonate.time import now if TYPE_CHECKING: @@ -133,8 +133,6 @@ def rfi( ) -> RFI: return self.rfc(func_or_cmd, *args, **kwargs).to_rfi() - @overload - def lfi(self, cmd: BatchCommand, /) -> LFI: ... @overload def lfi( self, @@ -161,10 +159,7 @@ def lfi( ) -> LFI: ... def lfi( self, - func_or_cmd: DurableCoro[P, T] - | DurableFn[P, T] - | BatchCommand - | RegisteredFn[P, T], + func_or_cmd: DurableCoro[P, T] | DurableFn[P, T] | RegisteredFn[P, T], /, *args: P.args, **kwargs: P.kwargs, @@ -180,8 +175,6 @@ def lfi( """ return self.lfc(func_or_cmd, *args, **kwargs).to_lfi() - @overload - def lfc(self, func: BatchCommand, /) -> LFC: ... @overload def lfc( self, @@ -208,10 +201,7 @@ def lfc( ) -> LFC: ... def lfc( self, - func_or_cmd: DurableCoro[P, T] - | DurableFn[P, T] - | BatchCommand - | RegisteredFn[P, T], + func_or_cmd: DurableCoro[P, T] | DurableFn[P, T] | RegisteredFn[P, T], /, *args: P.args, **kwargs: P.kwargs, @@ -222,10 +212,8 @@ def lfc( LFC and await for the result of the execution. It's syntax sugar for `yield (yield ctx.lfi(...))` """ - unit: BatchCommand | Invocation[Any] - if isinstance(func_or_cmd, BatchCommand): - unit = func_or_cmd - elif isinstance(func_or_cmd, RegisteredFn): + unit: Invocation[Any] + if isinstance(func_or_cmd, RegisteredFn): unit = Invocation(func_or_cmd.fn, *args, **kwargs) else: unit = Invocation(func_or_cmd, *args, **kwargs) diff --git a/src/resonate/dataclasses.py b/src/resonate/dataclasses.py index a677121a..71c95ab2 100644 --- a/src/resonate/dataclasses.py +++ b/src/resonate/dataclasses.py @@ -160,9 +160,6 @@ def __init__( self.kwargs = kwargs -class BatchCommand: ... - - class DurablePromise: def __init__( self, diff --git a/src/resonate/processor/traits.py b/src/resonate/processor/traits.py index 53694942..ea198998 100644 --- a/src/resonate/processor/traits.py +++ b/src/resonate/processor/traits.py @@ -3,12 +3,12 @@ from abc import ABC, abstractmethod from typing import TYPE_CHECKING, Any -from resonate.traits import SubSystem +from resonate.traits import Subsystem if TYPE_CHECKING: from resonate.dataclasses import SQE -class IProcessor(SubSystem, ABC): +class IProcessor(Subsystem, ABC): @abstractmethod def enqueue(self, sqe: SQE[Any]) -> None: ... diff --git a/src/resonate/queue.py b/src/resonate/queue.py index 4c90d212..99520a55 100644 --- a/src/resonate/queue.py +++ b/src/resonate/queue.py @@ -8,7 +8,7 @@ from typing import Optional, TypeVar, final from resonate.cmd_queue import CommandQ, Invoke -from resonate.traits import SubSystem +from resonate.traits import Subsystem T = TypeVar("T") @@ -22,7 +22,7 @@ def _secs_to_ns(secs: float) -> float: @final -class DelayQueue(SubSystem): +class DelayQueue(Subsystem): def __init__(self) -> None: self._inq = Queue[Optional[tuple[Invoke, float]]]() self._delayed: list[tuple[float, Invoke]] = [] diff --git a/src/resonate/task_sources/traits.py b/src/resonate/task_sources/traits.py index bcb02120..e0f323fb 100644 --- a/src/resonate/task_sources/traits.py +++ b/src/resonate/task_sources/traits.py @@ -3,10 +3,10 @@ from abc import ABC, abstractmethod from typing import Any -from resonate.traits import SubSystem +from resonate.traits import Subsystem -class ITaskSource(SubSystem, ABC): +class ITaskSource(Subsystem, ABC): @abstractmethod def set_pid(self, pid: str) -> None: ... @abstractmethod diff --git a/src/resonate/traits.py b/src/resonate/traits.py index d1f661c6..d8f49722 100644 --- a/src/resonate/traits.py +++ b/src/resonate/traits.py @@ -7,7 +7,7 @@ from resonate.cmd_queue import CommandQ -class SubSystem(ABC): +class Subsystem(ABC): @abstractmethod def start(self, cmd_queue: CommandQ) -> None: ...