o
    _J@hÖ  ã                   @   s$   d dl mZmZ G dd„ deƒZdS )é    )ÚBaseExecutorÚrun_jobc                       s(   e Zd ZdZ‡ fdd„Zdd„ Z‡  ZS )ÚTwistedExecutorzP
    Runs jobs in the reactor's thread pool.

    Plugin alias: ``twisted``
    c                    s   t ƒ  ||¡ |j| _d S ©N)ÚsuperÚstartÚ_reactor)ÚselfZ	schedulerÚalias©Ú	__class__© úP/var/www/html/venv/lib/python3.10/site-packages/apscheduler/executors/twisted.pyr      s   zTwistedExecutor.startc                    s2   ‡ ‡fdd„}ˆj  ¡  |tˆ ˆ j|ˆjj¡ d S )Nc                    s.   | rˆ  ˆ j|¡ d S ˆ ˆ j|j|j¡ d S r   )Z_run_job_successÚidZ_run_job_errorÚvalueÚtb)ÚsuccessÚresult©Újobr	   r   r   Úcallback   s   z0TwistedExecutor._do_submit_job.<locals>.callback)r   ZgetThreadPoolZcallInThreadWithCallbackr   Z_jobstore_aliasZ_loggerÚname)r	   r   Z	run_timesr   r   r   r   Ú_do_submit_job   s   
ÿzTwistedExecutor._do_submit_job)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__classcell__r   r   r   r   r      s    r   N)Zapscheduler.executors.baser   r   r   r   r   r   r   Ú<module>   s    