+
    *Qj                         ^ RI Ht ^ RIHtHtHt ^ RIHtHtH	t	 ^ RI
Ht  ^ RIt ^ RIHt  ! R R	]4      tR#   ] d    ^ RIt L!i ; i  ] d
    ]! R4      hi ; i)
    )absolute_import)BaseJobStoreJobLookupErrorConflictingIdError)	maybe_refdatetime_to_utc_timestamputc_timestamp_to_datetime)JobN)	RethinkDBz.RethinkDBJobStore requires rethinkdb installedc                      a a ] tR t^t oRtRRR]P                  3V 3R lltV 3R ltR t	R t
R	 tR
 tR tR tR tR tR tR tRR ltR tRtVtV ;t# )RethinkDBJobStorea	  
Stores jobs in a RethinkDB database. Any leftover keyword arguments are directly passed to
rethinkdb's `RethinkdbClient <http://www.rethinkdb.com/api/#connect>`_.

Plugin alias: ``rethinkdb``

:param str database: database to store jobs in
:param str collection: collection to store jobs in
:param client: a :class:`rethinkdb.net.Connection` instance to use instead of providing
    connection arguments
:param int pickle_protocol: pickle protocol level to use (for serialization), defaults to the
    highest available
apschedulerjobsNc                   < \         \        V `  4        V'       g   \        R 4      hV'       g   \        R4      hWn        W n        RV n        W0n        W@n        WPn	        \        4       V n        RV n        R# )z*The "database" parameter must not be emptyz'The "table" parameter must not be emptyN)superr   __init__
ValueErrordatabase
table_nametableclientpickle_protocolconnect_argsr   rconn)selfr   r   r   r   r   	__class__s   &&&&&,x/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/apscheduler/jobstores/rethinkdb.pyr   RethinkDBJobStore.__init__!   sa    /1IJJFGG 
.(	    c                  < \         \        V `  W4       V P                  '       d   \	        V P                  4      V n        M7V P                  P                  ! RR V P                  /V P                  B V n        V P                  V P                  P                  4       P                  V P
                  4      9  d?   V P                  P                  V P                  4      P                  V P
                  4       V P                  V P                  P                  4       P                  V P
                  4      9  d?   V P                  P                  V P                  4      P                  V P
                  4       RV P                  P!                  V P                  4      P#                  4       P                  V P
                  4      9  dN   V P                  P!                  V P                  4      P%                  R4      P                  V P
                  4       V P                  P'                  V P                  4      P!                  V P                  4      V n        R# )dbnext_run_timeN )r   r   startr   r   r   r   connectr   r   db_listrun	db_creater   
table_listtable_creater   
index_listindex_creater"   )r   	scheduleraliasr   s   &&&r   r%   RethinkDBJobStore.start3   ss   ,Y>;;;!$++.DIM$--M4;L;LMDI== 0 4 4TYY ??FFT]]+//		:??$&&"3"3"5"9"9$))"DDFF044TYY?$&&,,t"?"J"J"L"P"PQUQZQZ"[[FFLL)66GKKDIIVVVYYt}}-33DOOD
r    c                    \        V P                  P                  V4      P                  R 4      P	                  V P
                  4      4      pV'       d    V P                  V^ ,          R ,          4      # R# )	job_stateN)listr   get_allpluckr(   r   _reconstitute_jobr   job_idresultss   && r   
lookup_jobRethinkDBJobStore.lookup_jobF   sV    tzz))&177DHHSTBIt%%gaj&=>StSr    c                r    V P                  V P                  P                  R ,          \        V4      8*  4      # r#   )	_get_jobsr   rowr   )r   nows   &&r   get_due_jobsRethinkDBJobStore.get_due_jobsJ   s*    ~~dffjj9=VWZ=[[\\r    c                ~   \        V P                  P                  V P                  P                  R ,          R8g  4      P                  V P                  P                  R 4      4      P                  R 4      P                  ^4      P                  V P                  4      4      pV'       d   \        V^ ,          4      # R# )r#   Nc                     V R ,          # r=   r$   )xs   &r   <lambda>5RethinkDBJobStore.get_next_run_time.<locals>.<lambda>R   s	    1_-r    )r3   r   filterr   r?   order_byascmaplimitr(   r   r	   )r   r9   s   & r   get_next_run_time#RethinkDBJobStore.get_next_run_timeM   s    JJVDFFJJ/478Xdffjj12S-.U1XS^
 9@(4ITIr    c                H    V P                  4       pV P                  V4       V# N)r>   _fix_paused_jobs_sorting)r   r   s   & r   get_all_jobsRethinkDBJobStore.get_all_jobsX   s!    ~~%%d+r    c                   R VP                   R\        VP                  4      RV P                  P	                  \
        P                  ! VP                  4       V P                  4      4      /pV P                  P                  V4      P                  V P                  4      pVR,          ^ 8  d   \        VP                   4      hR# )idr#   r2   errorsN)rU   r   r#   r   binarypickledumps__getstate__r   r   insertr(   r   r   )r   jobjob_dictr9   s   &&  r   add_jobRethinkDBJobStore.add_job]   s    #&&6s7H7HIv||C4D4D4FH\H\']^

 **##H-11$))<8q $SVV,, !r    c           	       a R \        VP                  4      RV P                  P                  \        P
                  ! VP                  4       V P                  4      4      /pV P                  P                  VP                  4      P                  V4      P                  V P                  4      oR\        V3R lSP                  4       4      9   pSR,          ^ 8  g   SR,          ^ 8  g	   V'       g   \!        VP                  4      hR# )r#   r2   Fc                    < SV ,          ^ 8H  # )r   r$   )rE   r9   s   &r   rF   .RethinkDBJobStore.update_job.<locals>.<lambda>m   s    qr    skippedrV   N)r   r#   r   rW   rX   rY   rZ   r   r   r4   rU   updater(   r   rK   keysr   )r   r\   changesrc   r9   s   &&  @r   
update_jobRethinkDBJobStore.update_jobg   s    6s7H7HIv||C4D4D4FH\H\']^
 **$$SVV,33G<@@K38',,.II9!WX%6%:' (( CJr    c                    V P                   P                  V4      P                  4       P                  V P                  4      pVR ,          VR,          ,           ^8w  d   \        V4      hR# )deletedrc   N)r   r4   deleter(   r   r   r7   s   && r   
remove_jobRethinkDBJobStore.remove_jobq   sU    **$$V,33599$))D9	 22a7 (( 8r    c                l    V P                   P                  4       P                  V P                  4       R # rP   )r   rk   r(   r   r   s   &r   remove_all_jobs!RethinkDBJobStore.remove_all_jobsv   s!    

		*r    c                :    V P                   P                  4        R # rP   )r   closero   s   &r   shutdownRethinkDBJobStore.shutdowny   s    		r    c                    \         P                  ! V4      p\        P                  ! \        4      pVP	                  V4       V P
                  Vn        V P                  Vn        V# rP   )rX   loadsr
   __new____setstate__
_scheduler_alias_jobstore_alias)r   r2   r\   s   && r   r6   #RethinkDBJobStore._reconstitute_job|   sH    LL+	kk##"kk
r    c                  a  . p. pV'       dI   S P                   P                  S P                  P                  R ,          R8g  4      P                  V4      MS P                   pVP	                  R R4      P                  RR4      pVP                  S P                  4       F+  p VP                  S P                  VR,          4      4       K-  	  V'       dH   S P                  P                  V4      P                  V 3R l4      P                  S P                  4       V#   \         d@    S P                  P                  RTR,          4       TP                  TR,          4        K  i ; i)r#   NrU   r2   z)Unable to restore job "%s" -- removing itc                 V   < SP                   P                  V 4      P                  4       # rP   )r   r4   rk   )r8   r   s   &r   rF   -RethinkDBJobStore._get_jobs.<locals>.<lambda>   s    tzz11&9@@Br    )r   rH   r   r?   rI   r5   r(   r   appendr6   	Exception_logger	exceptionexprfor_each)r   	predicater   failed_job_idsquerydocuments   f&    r   r>   RethinkDBJobStore._get_jobs   s    ""466::o#>$#FGNNyY#':: 	5;;D+N		$)),H6D228K3HIJ - FFKK'00BDDGC		N  6&&'RT\]aTbc%%htn56s   #'DAE)(E)c                X    V P                   pR V P                  P                  : RV: R2# )<z (connection=z)>)r   r   __name__)r   
connections   & r   __repr__RethinkDBJobStore.__repr__   s     YY
)-)@)@*MMr    )r   r   r   r   r   r   r   r   rP   )r   
__module____qualname____firstlineno____doc__rX   HIGHEST_PROTOCOLr   r%   r:   rA   rM   rR   r^   rg   rl   rp   rt   r6   r>   r   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r   r      sm      !.VD!'!8!8$E&T]	J
-))
+*N Nr    r   )
__future__r   apscheduler.jobstores.baser   r   r   apscheduler.utilr   r   r	   apscheduler.jobr
   cPicklerX   ImportError	rethinkdbr   r   r$   r    r   <module>r      sj    & W W \ \ H#
IN IN  
  H
F
GGHs   : A AAA