o
    f                     @   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__ U/var/www/html/venv/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
    