ó
    \Ó–jA  ã                  óŠ   • S r SSKJr  SSKrSSKrSSKJr  SSKJr  \R                  " \
5      rS
SS jjrSS.     SS	 jjrg)uI   Worker periÃ³dico para la cola persistente de documentos en Google Drive.é    )ÚannotationsN)ÚStudentDriveSyncClass)ÚSessionLocalc                óÔ  • Sn[        [        S[        U 5      5      5       Hg  n[        5       n [	        U5      nUR                  5       nUc   UR                  5           U$ UR                  U5        US-  n UR                  5         Mi     U$ ! [         a:    UR                  5         [        R                  S5         UR                  5           U$ f = f! UR                  5         f = f)Nr   é   uR   No se pudo procesar la cola Drive; verifica que la migraciÃ³n 0017 estÃ© aplicada.)ÚrangeÚmaxÚintr   r   Úclaim_due_jobÚcloseÚprocessÚ	ExceptionÚrollbackÚloggerÚ	exception)Ú
batch_sizeÚ	processedÚ_ÚdbÚserviceÚjob_ids         Ú.app/backend\utils\student_drive_sync_worker.pyÚdrain_student_drive_sync_queuer      sÓ   € Ø€IÜ”3�qœ#˜j›/Ó*Ö+ˆÜ‹^ˆð	Ü+¨BÓ/ˆGØ×*Ñ*Ó,ˆFØ‰~Øð �H‰H�JØÐð �O‰O˜FÔ#Ø˜‰N‰Ið �H‰HŽJñ! ,ð" Ðøô ó 	Ø�K‰KŒMÜ×ÑØdôð à�H‰H�JØÐð	ûð �H‰H�Jús)   ¯BÁ!BÂ/CÂ=CÃCÃCÃC'é<   )Úinterval_secondsc             ƒ  ó@  #   • U R                  5       (       df  [        R                  " [        5      I S h  v•N    [        R                  " U R                  5       US9I S h  v•N   U R                  5       (       d  Me  g g  NI N! [        R                   a     M—  f = f7f)N)Útimeout)Úis_setÚasyncioÚ	to_threadr   Úwait_forÚwaitÚTimeoutError)Ú
stop_eventr   s     r   Úrun_student_drive_sync_workerr%   %   s|   é € ð
 ×Ñ×!Ñ!Ü×ÒÔ >Ó?×?Ð?ð	Ü×"Ò" :§?¡?Ó#4Ð>NÑO×OÐOð ×Ñ×!Õ!Ù?áOøÜ×#Ñ#ó 	Úð	üsJ   ‚3BµA?¶B»&B Á!BÁ"B Á&BÁ=BÂB ÂBÂBÂBÂB)é
   )r   r
   Úreturnr
   )r$   zasyncio.Eventr   r
   r'   ÚNone)Ú__doc__Ú
__future__r   r   ÚloggingÚ,app.backend.classes.student_drive_sync_classr   Úapp.backend.db.databaser   Ú	getLoggerÚ__name__r   r   r%   © ó    r   Ú<module>r2      sT   ðÙ Oå "ã Û å NÝ 0ð 
×	Ò	˜8Ó	$€öð2 ñ
Øð
ð ð
ð 
ö	
r1   