+
    vÍÆiå  ã                  óF   € ^ RI Ht ^ RIt^ RIHt ^ RIHt  ! R R4      tR# )é    )ÚannotationsN)Údeque)Ú	fetch_onec                  óP   € ] tR t^	tRR R lltR R ltR tR R ltR tR	 t	R
t
R# )ÚSimpleSchedulerc               ó   € V ^8„  d   QhRR/# )é   Úconcurrency_limitÚint© )Úformats   "Úscripts/scheduler.pyÚ__annotate__ÚSimpleScheduler.__annotate__
   s   € ÷ ñ ¨#ñ ó    c                	óN   € Wn         \        4       V n        \        4       V n        R # ©N)r
   r   ÚqueueÚsetÚactive)Úselfr
   s   &&r   Ú__init__ÚSimpleScheduler.__init__
   s   € Ø!2ÔÜ“WˆŒ
Ü“eˆŽr   c               ó   € V ^8„  d   QhRR/# )r	   Úscene_idÚstrr   )r   s   "r   r   r      s   € ÷ $ñ $ ñ $r   c                	ó<   € V P                   P                  V4       R # r   )r   Úappend)r   r   s   &&r   ÚenqueueÚSimpleScheduler.enqueue   s   € Ø
‰
×Ñ˜(Ö#r   c                	óP   € \        R 4      pV'       d   \        VR,          4      # ^ # )zQSELECT COUNT(*) AS cnt FROM tasks WHERE task_status IN ('submitted','processing')Úcnt)r   r   )r   Úrows   & r   Úrefresh_active_from_dbÚ&SimpleScheduler.refresh_active_from_db   s"   € ÜÐkÓlˆß"%Œs3u•:‹Ð,¨1Ð,r   c               ó   € V ^8„  d   QhRR/# )r	   ÚreturnÚboolr   )r   s   "r   r   r      s   € ÷ Jñ J˜dñ Jr   c                	óx   € V P                  4       pWP                  8  ;'       d    \        V P                  4      # r   )r$   r
   r(   r   )r   Úactive_counts   & r   Úcan_dispatchÚSimpleScheduler.can_dispatch   s0   € Ø×2Ñ2Ó4ˆØ×4Ñ4Ñ4×IÐI¼¸d¿j¹jÓ9IÐIr   c                	óf   € V P                  4       '       g   R # V P                  P                  4       # r   )r+   r   Úpopleft©r   s   &r   Údispatch_nextÚSimpleScheduler.dispatch_next   s'   € Ø× Ñ ×"Ò"ÙØz‰z×!Ñ!Ó#Ð#r   c                	ó~   € V P                  4       '       d   V P                  4       # \        P                  ! R 4       R# )gš™™™™™¹?N)r+   r0   ÚtimeÚsleepr/   s   &r   Ú	loop_onceÚSimpleScheduler.loop_once   s.   € Ø×Ñ×ÒØ×%Ñ%Ó'Ð'Ü
Š
3ŒÙr   )r   r
   r   N)é   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r$   r+   r0   r5   Ú__static_attributes__r   r   r   r   r   	   s!   † ÷õ
$ò-õJò$ö
r   r   )Ú
__future__r   r3   Úcollectionsr   Ú
scripts.dbr   r   r   r   r   Ú<module>r@      s   ðÝ "ã Ý å  ÷ó r   