File: //home/arjun/projects/env/lib/python3.10/site-packages/honcho/__pycache__/manager.cpython-310.pyc
o
weu � @ s� d dl Z d dlZd dlZd dlZd dlZddlmZ ddlmZ ddl m
Z
ddlmZm
Z
dZejdd d
�ejddd
�iZd
ZG dd� de�ZdS )� N� )�get_colours)�Env)�Process)�Printer�Message� �SIGINT� )�name�rc�SIGTERM� �systemc @ sr e Zd ZdZdZddd�Zddd�Zdd � Zd
d� Zdd
� Z ddd�Z
dd� Zdd� Zdd� Z
dd� Zdd� ZdS )�Managera�
Manager is responsible for running multiple external processes in parallel
managing the events that result (starting, stopping, printing). By default
it relays printed lines to a printer that prints to STDOUT.
Example::
import sys
from honcho.manager import Manager
m = Manager()
m.add_process('server', 'ruby server.rb')
m.add_process('worker', 'python worker.py')
m.loop()
sys.exit(m.returncode)
Nc C sZ t �� | _d | _t� | _t� | _|d ur|ntt j
�| _tt
�| j_t| _i | _d| _d S )NF)�multiprocessing�Queue�events�
returncoder �_coloursr �_envr �sys�stdout�_printer�len�SYSTEM_PRINTER_NAME�widthr �
_process_ctor�
_processes�_terminating)�self�printer� r"