
    0Fieb                        U d dl mZ d dlZd dlmZ  G d de          Z G d de          Z G d d	e          Z G d
 de          Z G d de          Z	dei fdei fdei fdei fde	i fgZ
ded<   dS )    )annotationsN)RequestHandlerc                      e Zd Zd ZdS )
APIHandlerc                \    |                      d           |                     dd           d S )NzAPI V1Content-Typeztext/plain; charset=utf-8)write
set_header)selfs    >lib/python3.11/site-packages/distributed/http/scheduler/api.pygetzAPIHandler.get	   s/    

8(CDDDDD    N__name__
__module____qualname__r    r   r   r   r      s(        E E E E Er   r   c                      e Zd Zd ZdS )RetireWorkersHandlerc                  K   |                      dd           | j        }	 t          j        | j        j                  }|                    dd          }|r3|                    |          }|                    |           d {V }n2|                    di           }|                    |           d {V }| 	                    t          j
        |                     d S # t          $ rW}|                     dt          |                     | 	                    t          j
        d	d
i                     Y d }~d S d }~ww xY w)Nr   application/jsonnr   )r   )workersr     ErrorInternal Server Error)r
   serverjsonloadsrequestbodyr   workers_to_closeretire_workersr	   dumps	Exception
set_statusstr)r   	schedulerparams	n_workersr   workers_infoes          r   postzRetireWorkersHandler.post   sf     (:;;;K		GZ 122F

3**I O#44y4AA%.%=%=g%=%N%NNNNNNN **Y33%.%=%=g%=%N%NNNNNNNJJtz,//00000 	G 	G 	GOOCQ(((JJtz7,C"DEEFFFFFFFFF	Gs   CC% %
E/AEEN)r   r   r   r-   r   r   r   r   r      s(        G G G G Gr   r   c                      e Zd Zd ZdS )GetWorkersHandlerc                   |                      dd           | j        }	 t          |j                  d |j                                        D             d}|                     t          j        |                     d S # t          $ rW}| 	                    dt          |                     |                     t          j        ddi                     Y d }~d S d }~ww xY w)Nr   r   c                ,    g | ]}|j         |j        d S )nameaddressr2   ).0wss     r   
<listcomp>z)GetWorkersHandler.get.<locals>.<listcomp>(   s4         W<<  r   )num_workersr   r   r   r   )r
   r   lenr   valuesr	   r   r$   r%   r&   r'   )r   r(   responser,   s       r   r   zGetWorkersHandler.get"   s    (:;;;K		G"9#455 '/6688   H JJtz(++,,,,, 	G 	G 	GOOCQ(((JJtz7,C"DEEFFFFFFFFF	Gs   AB   
C!
ACC!Nr   r   r   r   r/   r/   !   s(        G G G G Gr   r/   c                      e Zd Zd ZdS )AdaptiveTargetHandlerc                   |                      dd           | j        }	 |                                }d|i}|                     t	          j        |                     d S # t          $ rW}|                     dt          |                     |                     t	          j        ddi                     Y d }~d S d }~ww xY w)Nr   r   r   r   r   r   )	r
   r   adaptive_targetr	   r   r$   r%   r&   r'   )r   r(   desired_workersr;   r,   s        r   r   zAdaptiveTargetHandler.get4   s    (:;;;K		G'7799O?H JJtz(++,,,,, 	G 	G 	GOOCQ(((JJtz7,C"DEEFFFFFFFFF	G   ?A   
C*AB<<CNr   r   r   r   r=   r=   3   (        G G G G Gr   r=   c                      e Zd Zd ZdS )CheckIdleHandlerc                   |                      dd           | j        }	 |                                }d|i}|                     t	          j        |                     d S # t          $ rW}|                     dt          |                     |                     t	          j        ddi                     Y d }~d S d }~ww xY w)Nr   r   
idle_sincer   r   r   )	r
   r   
check_idler	   r   r$   r%   r&   r'   )r   r(   rF   r;   r,   s        r   r   zCheckIdleHandler.getC   s    (:;;;K		G"--//JjH JJtz(++,,,,, 	G 	G 	GOOCQ(((JJtz7,C"DEEFFFFFFFFF	GrA   Nr   r   r   r   rD   rD   B   rB   r   rD   z/api/v1z/api/v1/retire_workersz/api/v1/get_workersz/api/v1/adaptive_targetz/api/v1/check_idlezlist[tuple]routes)
__future__r   r   distributed.http.utilsr   r   r   r/   r=   rD   rH   __annotations__r   r   r   <module>rL      s   " " " " " " "  1 1 1 1 1 1E E E E E E E EG G G G G> G G G&G G G G G G G G$G G G G GN G G GG G G G G~ G G G  
B3R8-r2 5r:+R0      r   