Skip to content

Commit ae5725a

Browse files
committed
Break apart session processor and the running of each session into separate classes
1 parent 40b4fa7 commit ae5725a

File tree

2 files changed

+231
-127
lines changed

2 files changed

+231
-127
lines changed

invokeai/app/services/session_processor/session_processor_base.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,34 @@
11
from abc import ABC, abstractmethod
2+
from threading import Event
23

4+
from invokeai.app.services.invocation_services import InvocationServices
35
from invokeai.app.services.session_processor.session_processor_common import SessionProcessorStatus
6+
from invokeai.app.services.session_queue.session_queue_common import SessionQueueItem
7+
8+
class SessionRunnerBase(ABC):
9+
"""
10+
Base class for session runner.
11+
"""
12+
13+
@abstractmethod
14+
def start(self, services: InvocationServices, cancel_event: Event) -> None:
15+
"""Starts the session runner"""
16+
pass
17+
18+
@abstractmethod
19+
def run(self, queue_item: SessionQueueItem) -> None:
20+
"""Runs the session"""
21+
pass
22+
23+
@abstractmethod
24+
def complete(self, queue_item: SessionQueueItem) -> None:
25+
"""Completes the session"""
26+
pass
27+
28+
@abstractmethod
29+
def run_node(self, node_id: str, queue_item: SessionQueueItem) -> None:
30+
"""Runs an already prepared node on the session"""
31+
pass
432

533

634
class SessionProcessorBase(ABC):

0 commit comments

Comments
 (0)