
    E0j                     V    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	dS )    )EventThread)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                     t          |                    dd                    | _        t                                          |           d S )NdaemonT)r   pop_daemonsuper
_configure)selfconfig	__class__s     i/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/apscheduler/schedulers/background.pyr   zBackgroundScheduler._configure   s>    fjj488996"""""    c                 
   | j         | j                                         rt                      | _         t          j        | g|R i | t          | j        d| j                  | _        | j                                         d S )NAPScheduler)targetnamer   )	_eventis_setr   r   startr   
_main_loopr   _thread)r   argskwargss      r   r   zBackgroundScheduler.start   s    ;$+"4"4"6"6''DKD242226222?t|
 
 
 	r   c                 p     t                      j        |i | | j                                         | `d S )N)r   shutdownr   join)r   r   r   r   s      r   r!   zBackgroundScheduler.shutdown'   s<    $)&)))LLLr   )	__name__
__module____qualname____doc__r   r   r   r!   __classcell__)r   s   @r   r	   r	      sq          G# # # # #          r   r	   N)
	threadingr   r   apscheduler.schedulers.baser   apscheduler.schedulers.blockingr   apscheduler.utilr   r	    r   r   <module>r-      s    # # # # # # # # 5 5 5 5 5 5 = = = = = = # # # # # #" " " " "+ " " " " "r   