U
    nËjù  ã                
   @   sf   d dl Z d dlmZmZ zd dlZW n, ek
rP Z zedƒe‚W 5 dZ[X Y nX G dd„ deƒZdS )é    N)ÚBaseExecutorÚrun_jobz(GeventExecutor requires gevent installedc                   @   s   e Zd ZdZdd„ ZdS )ÚGeventExecutorz?
    Runs jobs as greenlets.

    Plugin alias: ``gevent``
    c                    s0   ‡ ‡fdd„}t  tˆ ˆ j|ˆjj¡ |¡ d S )Nc                    sR   z|   ¡ }W n2 tk
r>   ˆjˆ jft ¡ dd … žŽ  Y nX ˆ ˆ j|¡ d S )Né   )ÚgetÚBaseExceptionZ_run_job_errorÚidÚsysÚexc_infoZ_run_job_success)ZgreenletÚevents©ÚjobÚself© ú@/tmp/pip-unpacked-wheel-giblih11/apscheduler/executors/gevent.pyÚcallback   s
    $z/GeventExecutor._do_submit_job.<locals>.callback)ÚgeventÚspawnr   Z_jobstore_aliasZ_loggerÚnameÚlink)r   r   Z	run_timesr   r   r   r   Ú_do_submit_job   s        ÿþzGeventExecutor._do_submit_jobN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r      s   r   )r	   Zapscheduler.executors.baser   r   r   ÚImportErrorÚexcr   r   r   r   r   Ú<module>   s   