o
    ›¨Êh=  ã                   @   s^   d Z ddlZddlmZ ddlmZ dZeedƒrdd„ Znd	d„ Zd
d„ Z	G dd„ dƒZ
dS )zSystem information utilities.é    N©Úceil)Úcached_property)Úload_averageÚdfÚ
getloadavgc                   C   s   t dd„ t ¡ D ƒƒS )Nc                 s   s    � | ]}t |d  ƒd  V  qdS )ç      Y@Nr   )Ú.0Úl© r   úF/var/www/html/env/lib/python3.10/site-packages/celery/utils/sysinfo.pyÚ	<genexpr>   s   € z _load_average.<locals>.<genexpr>)ÚtupleÚosr   r   r   r   r   Ú_load_average   s   r   c                   C   s   dS )N)ç        r   r   r   r   r   r   r   r      s   c                   C   s   t ƒ S )z'Return system load average as a triple.)r   r   r   r   r   r      s   r   c                   @   sH   e Zd ZdZdd„ Zedd„ ƒZedd„ ƒZedd	„ ƒZe	d
d„ ƒZ
dS )r   zDisk information.c                 C   s
   || _ d S ©N)Úpath)Úselfr   r   r   r   Ú__init__   s   
zdf.__init__c                 C   ó   | j j| j j d S ©Ni   )ÚstatÚf_blocksÚf_frsize©r   r   r   r   Útotal_blocks    ó   zdf.total_blocksc                 C   r   r   )r   Úf_bavailr   r   r   r   r   Ú	available$   r   zdf.availablec                 C   s4   | j j}| j j| j j }tt|d ||  d ƒƒS )Nr   g      à?)r   r   r   Úf_bfreeÚintr   )r   ÚavailÚusedr   r   r   Úcapacity(   s   zdf.capacityc                 C   s   t  t j | j¡¡S r   )r   Ústatvfsr   Úabspathr   r   r   r   r   .   r   zdf.statN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   r   r$   r   r   r   r   r   r   r      s    


r   )r*   r   Úmathr   Úkombu.utils.objectsr   Ú__all__Úhasattrr   r   r   r   r   r   r   Ú<module>   s    

