o
    ®äeö  ã                   @   s>   d Z ddlmZ ddlmZ ddlmZ G dd„ dejƒZdS )	z Clocked schedule Implementation.é    )Ú	schedules)Úmaybe_make_awareé   )ÚNEVER_CHECK_TIMEOUTc                       sR   e Zd ZdZd‡ fdd„	Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
‡  ZS )Úclockedz@clocked schedule.

    Depends on PeriodicTask one_off=True
    Nc                    s   t |ƒ| _tƒ j||d� dS )zInitialize clocked.)ÚnowfunÚappN)r   Úclocked_timeÚsuperÚ__init__)Úselfr	   r   r   ©Ú	__class__© úT/var/www/html/env/lib/python3.10/site-packages/django_celery_beat/clockedschedule.pyr      s   
zclocked.__init__c                 C   s   | j |  ¡  S ©N)r	   Únow)r   Úlast_run_atr   r   r   Úremaining_estimate   ó   zclocked.remaining_estimatec                 C   s<   |   d ¡}t| ¡ dƒ}|dkrtjdtd�S tjd|d�S )Nr   T)Úis_dueÚnextF)r   ÚmaxÚtotal_secondsr   Ú
schedstater   )r   r   Ú	rem_deltaÚremaining_sr   r   r   r      s
   
zclocked.is_duec                 C   s   d| j › d�S )Nz
<clocked: ú>)r	   ©r   r   r   r   Ú__repr__   r   zclocked.__repr__c                 C   s   t |tƒr| j|jkS dS )NF)Ú
isinstancer   r	   ©r   Úotherr   r   r   Ú__eq__!   s   
zclocked.__eq__c                 C   s   |   |¡ S r   )r#   r!   r   r   r   Ú__ne__&   s   zclocked.__ne__c                 C   s   | j | j| jffS r   )r   r	   r   r   r   r   r   Ú
__reduce__)   s   zclocked.__reduce__)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r#   r$   r%   Ú__classcell__r   r   r   r   r   	   s    r   N)	r)   Úceleryr   Úcelery.utils.timer   Úutilsr   ÚBaseScheduler   r   r   r   r   Ú<module>   s
    