Skip to content

Commit

Permalink
fix: windows only object type (PipeConnection) being referenced
Browse files Browse the repository at this point in the history
  • Loading branch information
tazlin committed Oct 1, 2023
1 parent ca0d655 commit be6053b
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 10 deletions.
10 changes: 7 additions & 3 deletions horde_worker_regen/process_management/horde_process.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
import time
from abc import abstractmethod
from enum import auto
from multiprocessing.connection import PipeConnection

try:
from multiprocessing.connection import PipeConnection as Connection
except ImportError:
from multiprocessing.connection import Connection # type: ignore
from multiprocessing.synchronize import Lock
from typing import TYPE_CHECKING

Expand Down Expand Up @@ -41,7 +45,7 @@ class HordeProcess(abc.ABC):
"""The type of process. This distinguishes between inference, safety, and potentially other process types."""
process_message_queue: ProcessQueue
"""The queue the main process uses to receive messages from all worker processes."""
pipe_connection: PipeConnection # FIXME # TODO - this could be a Queue?
pipe_connection: Connection # FIXME # TODO - this could be a Queue?
"""Receives `HordeControlMessage`s from the main process."""

disk_lock: Lock
Expand Down Expand Up @@ -76,7 +80,7 @@ def __init__(
self,
process_id: int,
process_message_queue: ProcessQueue,
pipe_connection: PipeConnection,
pipe_connection: Connection,
disk_lock: Lock,
) -> None:
self.process_id = process_id
Expand Down
8 changes: 6 additions & 2 deletions horde_worker_regen/process_management/inference_process.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@
import io
import time
from enum import auto
from multiprocessing.connection import PipeConnection

try:
from multiprocessing.connection import PipeConnection as Connection
except ImportError:
from multiprocessing.connection import Connection # type: ignore
from multiprocessing.synchronize import Lock, Semaphore
from typing import TYPE_CHECKING

Expand Down Expand Up @@ -63,7 +67,7 @@ def __init__(
self,
process_id: int,
process_message_queue: ProcessQueue,
pipe_connection: PipeConnection,
pipe_connection: Connection,
inference_semaphore: Semaphore,
disk_lock: Lock,
) -> None:
Expand Down
8 changes: 6 additions & 2 deletions horde_worker_regen/process_management/safety_process.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
import time
from enum import auto
from io import BytesIO
from multiprocessing.connection import PipeConnection

try:
from multiprocessing.connection import PipeConnection as Connection
except ImportError:
from multiprocessing.connection import Connection # type: ignore
from multiprocessing.synchronize import Lock

import PIL
Expand Down Expand Up @@ -50,7 +54,7 @@ def __init__(
self,
process_id: int,
process_message_queue: ProcessQueue,
pipe_connection: PipeConnection,
pipe_connection: Connection,
disk_lock: Lock,
) -> None:
super().__init__(process_id, process_message_queue, pipe_connection, disk_lock)
Expand Down
10 changes: 7 additions & 3 deletions horde_worker_regen/process_management/worker_entry_points.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import contextlib
from multiprocessing.connection import PipeConnection

try:
from multiprocessing.connection import PipeConnection as Connection
except ImportError:
from multiprocessing.connection import Connection # type: ignore
from multiprocessing.synchronize import Lock, Semaphore

from loguru import logger
Expand All @@ -12,7 +16,7 @@
def start_inference_process(
process_id: int,
process_message_queue: ProcessQueue,
pipe_connection: PipeConnection,
pipe_connection: Connection,
inference_semaphore: Semaphore,
disk_lock: Lock,
) -> None:
Expand All @@ -30,7 +34,7 @@ def start_inference_process(
def start_safety_process(
process_id: int,
process_message_queue: ProcessQueue,
pipe_connection: PipeConnection,
pipe_connection: Connection,
disk_lock: Lock,
) -> None:
worker_process = HordeSafetyProcess(
Expand Down

0 comments on commit be6053b

Please sign in to comment.