Skip to content
This repository was archived by the owner on Jun 10, 2025. It is now read-only.

Commit a474d41

Browse files
author
Samuel Laroche
committed
add cancel to executable message
1 parent 23313b6 commit a474d41

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/saturn_engine/worker/executors/executable.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ def __init__(
4949
self.output = output
5050
self.resources: dict[str, ResourceContext] = {}
5151
self.queue = queue
52+
self.is_cancelled = False
5253

5354
@property
5455
def id(self) -> str:
@@ -93,6 +94,9 @@ def saturn_context(self) -> t.Iterator[None]:
9394
with job_context(self.queue.definition), message_context(self.message.message):
9495
yield
9596

97+
def cancel(self) -> None:
98+
self.is_cancelled = True
99+
96100

97101
class ExecutableQueue:
98102
def __init__(

src/saturn_engine/worker/executors/queue.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@
2222
from .executable import ExecutableMessage
2323

2424

25+
class MessageCancelled(Exception):
26+
pass
27+
28+
2529
class ExecutorQueue:
2630
CLOSE_TIMEOUT = datetime.timedelta(seconds=60)
2731

@@ -68,6 +72,8 @@ async def scope(
6872
xmsg: ExecutableMessage,
6973
) -> PipelineResults:
7074
try:
75+
if xmsg.is_cancelled:
76+
raise MessageCancelled
7177
return await self.executor.process_message(xmsg)
7278
except Exception:
7379
exc_type, exc_value, exc_traceback = sys.exc_info()

0 commit comments

Comments
 (0)