
    df                     Z    d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
  G d de      Zy)	    )absolute_import)ThreadEvent)BaseScheduler)BlockingScheduler)asboolc                   6     e Zd ZdZdZ fdZd Z fdZ xZS )BackgroundSchedulerah  
    A scheduler that runs in the background using a separate thread
    (:meth:`~apscheduler.schedulers.base.BaseScheduler.start` will return immediately).

    Extra options:

    ========== =============================================================================
    ``daemon`` Set the ``daemon`` option in the background thread (defaults to ``True``, see
               `the documentation
               <https://docs.python.org/3.4/library/threading.html#thread-objects>`_
               for further details)
    ========== =============================================================================
    Nc                 l    t        |j                  dd            | _        t        t        |   |       y )NdaemonT)r   pop_daemonsuperr
   
_configure)selfconfig	__class__s     Z/home/api-vastappli/venv/lib/python3.12/site-packages/apscheduler/schedulers/background.pyr   zBackgroundScheduler._configure   s*    fjj489!43F;    c                 B   | j                   | j                   j                         rt               | _         t        j                  | g|i | t        | j                  d      | _        | j                  | j                  _	        | j                  j	                          y )NAPScheduler)targetname)
_eventis_setr   r   startr   
_main_loop_threadr   r   )r   argskwargss      r   r   zBackgroundScheduler.start   sn    ;;$++"4"4"6'DKD24262T__=I"llr   c                 d    t        t        | 
  |i | | j                  j	                          | `y )N)r   r
   shutdownr   join)r   r   r    r   s      r   r"   zBackgroundScheduler.shutdown(   s-    !414B6BLr   )	__name__
__module____qualname____doc__r   r   r   r"   __classcell__)r   s   @r   r
   r
   
   s#     G< r   r
   N)
__future__r   	threadingr   r   apscheduler.schedulers.baser   apscheduler.schedulers.blockingr   apscheduler.utilr   r
    r   r   <module>r/      s!    & # 5 = #!+ !r   