o
    i                     @   s   d dl mZmZmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZ eeZdede
fdd	Ze Zed
defddZeddefddZeddefddZdefddZdS )    )	APIRouterFastAPIRequest)JSONResponseResponseN)EngineClient)init_loggerrequestreturnc                 C   s
   | j jjS N)appstateengine_client)r	    r   ]/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm/entrypoints/serve/sleep/api_router.pyr      s   
r   z/sleepraw_requestc                    s2   | j dd}t| t|I d H  tddS )Nlevel1   status_code)query_paramsgetr   sleepintr   )r   r   r   r   r   r      s   
r   z/wake_upc                    sD   | j d}|g krd }td| t| |I d H  tddS )Ntagsz wake up the engine with tags: %sr   r   )r   getlistloggerinfor   wake_upr   )r   r   r   r   r   r       s   
r   z/is_sleepingc                    s,   t d t|  I d H }td|idS )Nz$check whether the engine is sleepingis_sleeping)content)r   r   r   r    r   )r   r    r   r   r   r    -   s   
r    r   c                 C   s   t jsd S | t d S r   )envsVLLM_SERVER_DEV_MODEinclude_routerrouter)r   r   r   r   attach_router4   s   r&   )fastapir   r   r   fastapi.responsesr   r   	vllm.envsr"   vllm.engine.protocolr   vllm.loggerr   __name__r   r   r%   postr   r   r   r    r&   r   r   r   r   <module>   s   	