+
    *Qj                         ^ RI HtHt ^ RIHt ^ RIHtHt ^ RIHt ^ RI	t	^ RI
t
^ RIHt ^ RIt^ RIHtHtHtHt  ! R R	]4      t ! R
 R]P*                  ! ]]4      4      tR tR# )    )ABCMetaabstractmethod)defaultdict)datetime	timedelta)	format_tbN)utc)JobExecutionEventEVENT_JOB_MISSEDEVENT_JOB_ERROREVENT_JOB_EXECUTEDc                   2   a a ] tR t^t oV 3R ltRtVtV ;t# )MaxInstancesReachedErrorc                h   < \         \        V `  R VP                  VP                  3,          4       R# )zAJob "%s" has already reached its maximum number of instances (%d)N)superr   __init__idmax_instances)selfjob	__class__s   &&s/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/apscheduler/executors/base.pyr   !MaxInstancesReachedError.__init__   s-    &6OVVS&&'(	)     )__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classcell__r   __classdict__s   @@r   r   r      s     ) )r   r   c                      a a ] tR t^t oRtRtRt]P                  ! R4      t	V 3R lt
R tRR ltR t]R 4       tR	 tRR
 ltRtVtV ;t# )BaseExecutorzRAbstract base class that defines the interface that every executor must implement.Nzapscheduler.executorsc                N   < \         \        V `  4        \        R  4      V n        R# )c                      ^ # )r   r   r   r   r   <lambda>'BaseExecutor.__init__.<locals>.<lambda>   s    ar   N)r   r&   r   r   
_instances)r   r   s   &r   r   BaseExecutor.__init__   s    lD*,%i0r   c                    Wn         VP                  4       V n        \        P                  ! RV,          4      V n        R# )aF  
Called by the scheduler when the scheduler is being started or when the executor is being
added to an already running scheduler.

:param apscheduler.schedulers.base.BaseScheduler scheduler: the scheduler that is starting
    this executor
:param str|unicode alias: alias of this executor as it was assigned to the scheduler

zapscheduler.executors.%sN)
_scheduler_create_lock_locklogging	getLogger_logger)r   	scheduleraliass   &&&r   startBaseExecutor.start!   s1     $++-
(()Ce)KLr   c                    R# )zo
Shuts down this executor.

:param bool wait: ``True`` to wait until all submitted jobs
    have been executed
Nr   )r   waits   &&r   shutdownBaseExecutor.shutdown/       r   c                t   V P                   f   Q R4       hV P                   ;_uu_ 4        V P                  VP                  ,          VP                  8  d   \	        V4      hV P                  W4       V P                  VP                  ;;,          ^,          uu&   RRR4       R#   + '       g   i     R# ; i)a  
Submits job for execution.

:param Job job: job to execute
:param list[datetime] run_times: list of datetimes specifying
    when the job should have been run
:raises MaxInstancesReachedError: if the maximum number of
    allowed instances for this job has been reached

Nz&This executor has not been started yet)r0   r+   r   r   r   _do_submit_jobr   r   	run_timess   &&&r   
submit_jobBaseExecutor.submit_job7   s{     zz%O'OO%ZZZsvv&#*;*;;.s33/OOCFF#q(# ZZZs   A2B&&B7	c                    R# )z>Performs the actual task of scheduling `run_job` to be called.Nr   r?   s   &&&r   r>   BaseExecutor._do_submit_jobJ   r<   r   c                6   V P                   ;_uu_ 4        V P                  V;;,          ^,          uu&   V P                  V,          ^ 8X  d   V P                  V RRR4       V F  pV P                  P                  V4       K   	  R#   + '       g   i     L6; i)zn
Called by the executor with the list of generated events when :func:`run_job` has been
successfully called.

N)r0   r+   r.   _dispatch_event)r   job_ideventsevents   &&& r   _run_job_successBaseExecutor._run_job_successN   si     ZZZOOF#q(#v&!+OOF+ 
 EOO++E2  Zs   ABB	c                D   V P                   ;_uu_ 4        V P                  V;;,          ^,          uu&   V P                  V,          ^ 8X  d   V P                  V RRR4       VP                  W#3pV P                  P	                  RWR7       R#   + '       g   i     L=; i)zRCalled by the executor with the exception if there is an error  calling `run_job`.NzError running job %s)exc_info)r0   r+   r   r3   error)r   rG   exc	tracebackrM   s   &&&& r   _run_job_errorBaseExecutor._run_job_error\   sq    ZZZOOF#q(#v&!+OOF+ 
 MM3216M Zs   ABB	)r+   r0   r3   r.   )T)N)r   r   r   r   __doc__r.   r0   r1   r2   r3   r   r6   r:   rA   r   r>   rJ   rQ   r    r!   r"   r#   s   @@r   r&   r&      s_     \JE 78G1M)& M M3N Nr   r&   c                   . p\         P                  ! V4      pV EF  pV P                  e}   \        P                  ! \
        4      V,
          p\        V P                  R7      pWx8  d@   VP                  \        \        V P                  VV4      4       VP                  RW4       K  VP                  RW4        V P                  ! V P                  / V P                  B p	VP                  \        \         V P                  WV	R7      4       VP                  RV 4       EK  	  V#   \"         d    \$        P&                  ! 4       R,          w  rRP)                  \+        T4      4      pTP                  \        \,        T P                  YYR	7      4       TP/                  R
T 4       \0        P2                  '       d   \$        P4                  ! 4        ? EK  ^ RIpTP9                  T4       ? EK  i ; i)zl
Called by executors to run the job. Returns a list of scheduler events to be dispatched by the
scheduler.

N)secondsz%Run time of job "%s" was missed by %sz"Running job "%s" (scheduled at %s))retvalzJob "%s" executed successfully:   NN )	exceptionrP   zJob "%s" raised an exception)r1   r2   misfire_grace_timer   nowr	   r   appendr
   r   r   warninginfofuncargskwargsr   BaseExceptionsysrM   joinr   r   rY   sixPY2	exc_clearrP   clear_frames)r   jobstore_aliasr@   logger_namerH   loggerrun_time
difference
grace_timerV   rO   tbformatted_tbrP   s   &&&&          r   run_jobrq   g   s    F{+F !!-!c*X5J"3+A+ABJ&/0@#&&.08: ;FX8#H	?XXsxx63::6F" MM+,>39; <KK8#>C F M)  	llnR(GC779R=1LMM+OSVV^69S T;SA www &&r*	s   <&D''B-G3G32G3)abcr   r   collectionsr   r   r   rP   r   r1   rc   pytzr	   re   apscheduler.eventsr
   r   r   r   	Exceptionr   with_metaclassobjectr&   rq   r   r   r   <module>ry      sX    ' # (   
  
N N)y )NN3%%gv6 NNb+r   