
    jg                     V    d Z ddlmZ ddlmZ ddlmZ  G d dej                        Zy)	z Clocked schedule Implementation.    )	schedules)maybe_make_aware   )NEVER_CHECK_TIMEOUTc                   H     e Zd ZdZd	 fd	Zd Zd Zd Zd Zd Z	d Z
 xZS )
clockedz@clocked schedule.

    Depends on PeriodicTask one_off=True
    c                 H    t        |      | _        t        |   ||       y)zInitialize clocked.)nowfunappN)r   clocked_timesuper__init__)selfr   r
   r   	__class__s       ]/var/www/html/Stanley/venv/lib/python3.12/site-packages/django_celery_beat/clockedschedule.pyr   zclocked.__init__   s"    ,\:C0    c                 <    | j                   | j                         z
  S N)r   now)r   last_run_ats     r   remaining_estimatezclocked.remaining_estimate   s      488:--r   c                     | j                  d       }t        |j                         d      }|dk(  rt        j                  dt
              S t        j                  d|      S )Nr   T)is_duenextF)r   maxtotal_secondsr   
schedstater   )r   r   	rem_deltaremaining_ss       r   r   zclocked.is_due   sV    ++D1	)113Q7!''t:MNN##5{CCr   c                 "    d| j                    dS )Nz
<clocked: >)r   r   s    r   __repr__zclocked.__repr__   s    D--.a00r   c                 V    t        |t              r| j                  |j                  k(  S y)NF)
isinstancer   r   r   others     r   __eq__zclocked.__eq__!   s&    eW%$$(:(:::r   c                 &    | j                  |       S r   )r(   r&   s     r   __ne__zclocked.__ne__&   s    ;;u%%%r   c                 J    | j                   | j                  | j                  ffS r   )r   r   r
   r"   s    r   
__reduce__zclocked.__reduce__)   s     ~~ 1 14;;???r   )NN)__name__
__module____qualname____doc__r   r   r   r#   r(   r*   r,   __classcell__)r   s   @r   r   r   	   s-    
1
.D1
&@r   r   N)	r0   celeryr   celery.utils.timer   utilsr   BaseScheduler    r   r   <module>r7      s%    &  . &!@i$$ !@r   