Ë
    „÷èi@  ã                   óv   — d dl Z d dlmZmZ  G d„ de«      Z G d„ de«      Z G d„ de«      Z G d	„ d
e¬«      Z	y)é    N)ÚABCMetaÚabstractmethodc                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚJobLookupErrorzBRaised when the job store cannot find a job for update or removal.c                 ó,   •— t         ‰| �  d|› d�«       y )NzNo job by the id of z
 was found©ÚsuperÚ__init__©ÚselfÚjob_idÚ	__class__s     €ú]/var/www/pod-logistic/pod-api/venv/lib/python3.12/site-packages/apscheduler/jobstores/base.pyr
   zJobLookupError.__init__   s   ø€ Ü‰ÑÐ/°¨x°zÐBÕCó    ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   Ú__classcell__©r   s   @r   r   r      s   ø„ ÙL÷Dð Dr   r   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚConflictingIdErrorz8Raised when the uniqueness of job IDs is being violated.c                 ó,   •— t         ‰| �  d|› d�«       y )NzJob identifier (z ) conflicts with an existing jobr   r   s     €r   r
   zConflictingIdError.__init__   s   ø€ Ü‰ÑÐ+¨F¨8Ð3SÐTÕUr   r   r   s   @r   r   r      s   ø„ ÙB÷Vð Vr   r   c                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚTransientJobErrorzs
    Raised when an attempt to add transient (with no func_ref) job to a persistent job store is
    detected.
    c                 ó,   •— t         ‰| �  d|› d�«       y )NzJob (z`) cannot be added to this job store because a reference to the callable could not be determined.r   r   s     €r   r
   zTransientJobError.__init__   s!   ø€ Ü‰ÑØ�F�8ð 'ð 'õ	
r   r   r   s   @r   r   r      s   ø„ ñ÷

ð 
r   r   c                   óÔ   — e Zd ZdZdZdZ ej                  d«      Zd„ Z	d„ Z
d„ Zed„ «       Zed„ «       Zed	„ «       Zed
„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zd„ Zy)ÚBaseJobStorezSAbstract base class that defines the interface that every job store must implement.Nzapscheduler.jobstoresc                 óZ   — || _         || _        t        j                  d|› �«      | _        y)ax  
        Called by the scheduler when the scheduler is being started or when the job store is being
        added to an already running scheduler.

        :param apscheduler.schedulers.base.BaseScheduler scheduler: the scheduler that is starting
            this job store
        :param str|unicode alias: alias of this job store as it was assigned to the scheduler
        zapscheduler.jobstores.N)Ú
_schedulerÚ_aliasÚloggingÚ	getLoggerÚ_logger)r   Ú	schedulerÚaliass      r   ÚstartzBaseJobStore.start'   s,   € ð $ˆŒØˆŒÜ×(Ñ(Ð+AÀ%ÀÐ)IÓJˆ�r   c                  ó   — y)z2Frees any resources still bound to this job store.N© ©r   s    r   ÚshutdownzBaseJobStore.shutdown5   ó   � r   c                 ó†   — t        |«      D ]3  \  }}|j                  €Œ|dkD  r|d | }|d |…= |j                  |«        y  y )Nr   )Ú	enumerateÚnext_run_timeÚextend)r   ÚjobsÚiÚjobÚpaused_jobss        r   Ú_fix_paused_jobs_sortingz%BaseJobStore._fix_paused_jobs_sorting8   sQ   € Ü “oò 	‰FˆAˆsØ× Ñ Ñ,Ø�q’5Ø"& r¨ (�KØ˜R˜a˜R˜Ø—K‘K Ô,Ùñ	r   c                  ó   — y)aG  
        Returns a specific job, or ``None`` if it isn't found..

        The job store is responsible for setting the ``scheduler`` and ``jobstore`` attributes of
        the returned job to point to the scheduler and itself, respectively.

        :param str|unicode job_id: identifier of the job
        :rtype: Job
        Nr*   ©r   r   s     r   Ú
lookup_jobzBaseJobStore.lookup_jobA   r-   r   c                  ó   — y)a  
        Returns the list of jobs that have ``next_run_time`` earlier or equal to ``now``.
        The returned jobs must be sorted by next run time (ascending).

        :param datetime.datetime now: the current (timezone aware) datetime
        :rtype: list[Job]
        Nr*   )r   Únows     r   Úget_due_jobszBaseJobStore.get_due_jobsM   r-   r   c                  ó   — y)z­
        Returns the earliest run time of all the jobs stored in this job store, or ``None`` if
        there are no active jobs.

        :rtype: datetime.datetime
        Nr*   r+   s    r   Úget_next_run_timezBaseJobStore.get_next_run_timeW   r-   r   c                  ó   — y)a—  
        Returns a list of all jobs in this job store.
        The returned jobs should be sorted by next run time (ascending).
        Paused jobs (next_run_time == None) should be sorted last.

        The job store is responsible for setting the ``scheduler`` and ``jobstore`` attributes of
        the returned jobs to point to the scheduler and itself, respectively.

        :rtype: list[Job]
        Nr*   r+   s    r   Úget_all_jobszBaseJobStore.get_all_jobs`   r-   r   c                  ó   — y)z¶
        Adds the given job to this store.

        :param Job job: the job to add
        :raises ConflictingIdError: if there is another job in this store with the same ID
        Nr*   ©r   r4   s     r   Úadd_jobzBaseJobStore.add_jobm   r-   r   c                  ó   — y)z²
        Replaces the job in the store with the given newer version.

        :param Job job: the job to update
        :raises JobLookupError: if the job does not exist
        Nr*   rB   s     r   Ú
update_jobzBaseJobStore.update_jobv   r-   r   c                  ó   — y)z¬
        Removes the given job from this store.

        :param str|unicode job_id: identifier of the job
        :raises JobLookupError: if the job does not exist
        Nr*   r8   s     r   Ú
remove_jobzBaseJobStore.remove_job   r-   r   c                  ó   — y)z!Removes all jobs from this store.Nr*   r+   s    r   Úremove_all_jobszBaseJobStore.remove_all_jobsˆ   r-   r   c                 ó6   — d| j                   j                  › d�S )Nú<ú>)r   r   r+   s    r   Ú__repr__zBaseJobStore.__repr__Œ   s   € Ø�4—>‘>×*Ñ*Ð+¨1Ð-Ð-r   )r   r   r   r   r!   r"   r#   r$   r%   r(   r,   r6   r   r9   r<   r>   r@   rC   rE   rG   rI   rM   r*   r   r   r   r       sØ   „ Ù]à€JØ€FØˆg×ÑÐ 7Ó8€GòKòAòð ñ	ó ð	ð ñó ðð ñó ðð ñ
ó ð
ð ñó ðð ñó ðð ñó ðð ñ0ó ð0ó.r   r   )Ú	metaclass)
r#   Úabcr   r   ÚKeyErrorr   r   Ú
ValueErrorr   r   r*   r   r   ú<module>rR      sA   ðÛ ß 'ôD�Xô DôV˜ô Vô

˜
ô 

ôm.˜Wö m.r   