
    1g                     N    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)    )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                 d    t        |j                  dd            | _        t        |   |       y )NdaemonT)r   pop_daemonsuper
_configure)selfconfig	__class__s     w/var/www/python.lazyprojects.co.uk/rdoDiscordBot/venv/lib/python3.12/site-packages/apscheduler/schedulers/background.pyr   zBackgroundScheduler._configure   s'    fjj4896"    c                 "   | j                   | j                   j                         rt               | _         t        j                  | g|i | t        | j                  d| j                        | _        | j                  j	                          y )NAPScheduler)targetnamer   )	_eventis_setr   r   startr   
_main_loopr   _thread)r   argskwargss      r   r   zBackgroundScheduler.start   si    ;;$++"4"4"6'DKD24262??t||
 	r   c                 \    t        |   |i | | j                  j                          | `y )N)r   shutdownr   join)r   r   r   r   s      r   r!   zBackgroundScheduler.shutdown'   s*    $)&)Lr   )	__name__
__module____qualname____doc__r   r   r   r!   __classcell__)r   s   @r   r	   r	      s#     G# r   r	   N)
	threadingr   r   apscheduler.schedulers.baser   apscheduler.schedulers.blockingr   apscheduler.utilr   r	    r   r   <module>r-      s    # 5 = #"+ "r   