o
    wvXjŸ  ã                   @   sp   d Z ddlmZm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eƒZdS )zSystem information utilities.é    )Úabsolute_importÚunicode_literalsN©Ú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   úQ/var/www/html/myproject/venv/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   1   r   zdf.statN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   r!   r&   r   r   r   r   r   r   r      s    


r   )r,   Ú
__future__r   r   r   Úmathr   Úkombu.utils.objectsr   Ú__all__Úhasattrr   r   Úobjectr   r   r   r   r   Ú<module>   s   

