o
    fC                     @   s4  d dl mZ d dlmZ g Zdd Zdd Zdd Zd	d
 ZG dd dZ	G dd de	Z
G dd de
ZG dd de
ZG dd de	ZG dd deZG dd deZG dd de	ZG dd de	ZG dd deZG dd  d eZG d!d" d"ZG d#d$ d$e	ZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZG d-d. d.eZG d/d0 d0eZG d1d2 d2eZG d3d4 d4eZG d5d6 d6eZG d7d8 d8e	ZG d9d: d:eZ G d;d< d<eZ!G d=d> d>e	Z"G d?d@ d@e"Z#G dAdB dBe"Z$G dCdD dDe"Z%e#e$e%gZ&G dEdF dFZ'dGdH Z(dIdJ Z)dKS )L    )getProcessStateDescription)	as_stringc                 C      t | |f d S N)	callbacksappendtypecallback r   D/var/www/html/venv/lib/python3.10/site-packages/supervisor/events.py	subscribe      r   c                 C   r   r   )r   remover   r   r   r   unsubscribe	   r   r   c                 C   s$   t D ]\}}t| |r||  qd S r   )r   
isinstance)eventr	   r
   r   r   r   notify   s
   
r   c                   C   s   g t d d < d S r   )r   r   r   r   r   clear      r   c                   @      e Zd ZdZdS )Eventz Abstract event type N)__name__
__module____qualname____doc__r   r   r   r   r      s    r   c                   @   s$   e Zd ZdZdZdd Zdd ZdS )ProcessLogEvent
 Abstract Nc                 C      || _ || _|| _d S r   processpiddataselfr    r!   r"   r   r   r   __init__      
zProcessLogEvent.__init__c                 C   s|   d}| j jd ur| j jjj}zt| j}W n ty#   d| j }Y nw td}|t| j jjt|| jt| j|f }|S )N Undecodable: %rz0processname:%s groupname:%s pid:%s channel:%s
%s)	r    groupconfignamer   r"   UnicodeDecodeErrorr!   channel)r$   	groupnamer"   fmtresultr   r   r   payload    s   

zProcessLogEvent.payload)r   r   r   r   r-   r%   r1   r   r   r   r   r      s
    r   c                   @   r   )ProcessLogStdoutEventstdoutNr   r   r   r-   r   r   r   r   r2   1       r2   c                   @   r   )ProcessLogStderrEventstderrNr4   r   r   r   r   r6   4   r5   r6   c                   @   s(   e Zd ZdZdZdZdd Zdd ZdS )	ProcessCommunicationEventr   s   <!--XSUPERVISOR:BEGIN-->s   <!--XSUPERVISOR:END-->c                 C   r   r   r   r#   r   r   r   r%   =   r&   z"ProcessCommunicationEvent.__init__c                 C   s`   d}| j jd ur| j jjj}zt| j}W n ty#   d| j }Y nw d| j jj|| j|f S )Nr'   r(   z%processname:%s groupname:%s pid:%s
%s)r    r)   r*   r+   r   r"   r,   r!   )r$   r.   r"   r   r   r   r1   B   s   z!ProcessCommunicationEvent.payloadN)r   r   r   r   BEGIN_TOKEN	END_TOKENr%   r1   r   r   r   r   r8   7   s    r8   c                   @   r   )ProcessCommunicationStdoutEventr3   Nr4   r   r   r   r   r;   P   r5   r;   c                   @   r   )ProcessCommunicationStderrEventr7   Nr4   r   r   r   r   r<   S   r5   r<   c                   @      e Zd Zdd Zdd ZdS )RemoteCommunicationEventc                 C      || _ || _d S r   r	   r"   )r$   r	   r"   r   r   r   r%   W      
z!RemoteCommunicationEvent.__init__c                 C   s   d| j | jf S )Nz
type:%s
%sr@   r$   r   r   r   r1   [   r   z RemoteCommunicationEvent.payloadNr   r   r   r%   r1   r   r   r   r   r>   V   s    r>   c                   @   s   e Zd ZdZdd ZdS )SupervisorStateChangeEventz Abstract class c                 C   s   dS )Nr'   r   rB   r   r   r   r1   `      z"SupervisorStateChangeEvent.payloadN)r   r   r   r   r1   r   r   r   r   rD   ^   s    rD   c                   @      e Zd ZdS )SupervisorRunningEventNr   r   r   r   r   r   r   rG   c       rG   c                   @   rF   )SupervisorStoppingEventNrH   r   r   r   r   rJ   f   rI   rJ   c                   @      e Zd Zdd ZdS )EventRejectedEventc                 C   r?   r   )r    r   )r$   r    r   r   r   r   r%   j   rA   zEventRejectedEvent.__init__N)r   r   r   r%   r   r   r   r   rL   i       rL   c                   @   s2   e Zd ZdZdZdZd
ddZdd Zdd	 ZdS )ProcessStateEventz' Abstract class, never raised directly NTc                 C   s    || _ || _|| _|  | _d S r   )r    
from_stateexpectedget_extra_valuesextra_values)r$   r    rO   rP   r   r   r   r%   r   s   zProcessStateEvent.__init__c                 C   sb   d}| j jd ur| j jjj}d| j jjfd|fdt| jfg}|| j ddd |D }|S )Nr'   processnamer.   rO    c                 S   s   g | ]
\}}d ||f qS )z%s:%sr   ).0r+   valr   r   r   
<listcomp>   s    z-ProcessStateEvent.payload.<locals>.<listcomp>)	r    r)   r*   r+   r   rO   extendrR   join)r$   r.   Lsr   r   r   r1   z   s   zProcessStateEvent.payloadc                 C   s   g S r   r   rB   r   r   r   rQ      rE   z"ProcessStateEvent.get_extra_values)T)	r   r   r   r   frmtor%   r1   rQ   r   r   r   r   rN   n   s    

rN   c                   @   rF   )ProcessStateFatalEventNrH   r   r   r   r   r^      rI   r^   c                   @   rF   )ProcessStateUnknownEventNrH   r   r   r   r   r_      rI   r_   c                   @   rK   )"ProcessStateStartingOrBackoffEventc                 C   s   dt | jjfgS )Ntries)intr    backoffrB   r   r   r   rQ      r   z3ProcessStateStartingOrBackoffEvent.get_extra_valuesNr   r   r   rQ   r   r   r   r   r`      rM   r`   c                   @   rF   )ProcessStateBackoffEventNrH   r   r   r   r   re      rI   re   c                   @   rF   )ProcessStateStartingEventNrH   r   r   r   r   rf      rI   rf   c                   @   rK   )ProcessStateExitedEventc                 C   s   dt | jfd| jjfgS )NrP   r!   )rb   rP   r    r!   rB   r   r   r   rQ      s   z(ProcessStateExitedEvent.get_extra_valuesNrd   r   r   r   r   rg      rM   rg   c                   @   rK   )ProcessStateRunningEventc                 C      d| j jfgS Nr!   r    r!   rB   r   r   r   rQ         z)ProcessStateRunningEvent.get_extra_valuesNrd   r   r   r   r   rh      rM   rh   c                   @   rK   )ProcessStateStoppingEventc                 C   ri   rj   rk   rB   r   r   r   rQ      rl   z*ProcessStateStoppingEvent.get_extra_valuesNrd   r   r   r   r   rm      rM   rm   c                   @   rK   )ProcessStateStoppedEventc                 C   ri   rj   rk   rB   r   r   r   rQ      rl   z)ProcessStateStoppedEvent.get_extra_valuesNrd   r   r   r   r   rn      rM   rn   c                   @   r=   )ProcessGroupEventc                 C   s
   || _ d S r   r)   )r$   r)   r   r   r   r%         
zProcessGroupEvent.__init__c                 C   
   d| j  S )Nzgroupname:%s
rp   rB   r   r   r   r1      rq   zProcessGroupEvent.payloadNrC   r   r   r   r   ro      s    ro   c                   @   rF   )ProcessGroupAddedEventNrH   r   r   r   r   rs      rI   rs   c                   @   rF   )ProcessGroupRemovedEventNrH   r   r   r   r   rt      rI   rt   c                   @   s    e Zd ZdZdd Zdd ZdS )	TickEventr   c                 C   r?   r   )whensupervisord)r$   rv   rw   r   r   r   r%      rA   zTickEvent.__init__c                 C   rr   )Nzwhen:%s)rv   rB   r   r   r   r1      rq   zTickEvent.payloadN)r   r   r   r   r%   r1   r   r   r   r   ru      s    ru   c                   @   r   )
Tick5Event   Nr   r   r   periodr   r   r   r   rx      r5   rx   c                   @   r   )Tick60Event<   Nrz   r   r   r   r   r|      r5   r|   c                   @   r   )Tick3600Eventi  Nrz   r   r   r   r   r~      r5   r~   c                   @   sx   e Zd ZeZeZeZe	Z
eZeZeZeZeZeZeZeZeZeZeZ e!Z"e#Z$e%Z&e'Z(e)Z*e+Z,e-Z.e/Z0e1Z2e3Z4e5Z6e7Z8dS )
EventTypesN)9r   r   r   r   EVENTrN   PROCESS_STATErn   PROCESS_STATE_STOPPEDrg   PROCESS_STATE_EXITEDrf   PROCESS_STATE_STARTINGrm   PROCESS_STATE_STOPPINGre   PROCESS_STATE_BACKOFFr^   PROCESS_STATE_FATALrh   PROCESS_STATE_RUNNINGr_   PROCESS_STATE_UNKNOWNr8   PROCESS_COMMUNICATIONr;   PROCESS_COMMUNICATION_STDOUTr<   PROCESS_COMMUNICATION_STDERRr   PROCESS_LOGr2   PROCESS_LOG_STDOUTr6   PROCESS_LOG_STDERRr>   REMOTE_COMMUNICATIONrD   SUPERVISOR_STATE_CHANGErG   SUPERVISOR_STATE_CHANGE_RUNNINGrJ    SUPERVISOR_STATE_CHANGE_STOPPINGru   TICKrx   TICK_5r|   TICK_60r~   	TICK_3600ro   PROCESS_GROUPrs   PROCESS_GROUP_ADDEDrt   PROCESS_GROUP_REMOVEDr   r   r   r   r      s8    r   c                 C   s(   t j D ]\}}|| u r|  S qd S r   )r   __dict__items)	requestedr+   typr   r   r   getEventNameByType   s
   r   c                 C   s   t t| | d S r   )setattrr   )r+   r   r   r   r   register   r   r   N)*supervisor.statesr   supervisor.compatr   r   r   r   r   r   r   r   r2   r6   r8   r;   r<   r>   rD   rG   rJ   rL   rN   r^   r_   r`   re   rf   rg   rh   rm   rn   ro   rs   rt   ru   rx   r|   r~   TICK_EVENTSr   r   r   r   r   r   r   <module>   sP    	
