
    leJi                        d Z ddlmZ ddlmZ dZ ee          Zed             Zed             Z	ed             Z
ed             Zed	             Zed
             Zed             Zed             Zed             ZdS )zOBuilt-in Tasks.

The built-in tasks are always available in all app instances.
    )connect_on_app_finalize)
get_logger c                 N                           ddd           fd            }|S )zTask used to clean up expired results.

    If the configured backend requires periodic cleanup this task is also
    automatically configured to run every day at 4am (requires
    :program:`celery beat` to be running).
    zcelery.backend_cleanupFnamesharedlazyc                  :     j                                          d S N)backendcleanupapps   Y/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/celery/app/builtins.pybackend_cleanupz1add_backend_cleanup_task.<locals>.backend_cleanup   s        task)r   r   s   ` r   add_backend_cleanup_taskr      sC     	XX+EXFF    GFr   c                 J    |                      dddd          d             }|S )z9Task used by Task.replace when replacing task with group.Tzcelery.accumulateF)bindr   r	   r
   c                 D    |                     d          }|||         n|S )Nindex)get)selfargskwargsr   s       r   
accumulatez'add_accumulate_task.<locals>.accumulate   s&    

7###/tE{{T9r   r   )r   r   s     r   add_accumulate_taskr       s<     	XX41%eXLL: : ML: r   c           	           ddl m ddlm ddlmm}                      ddd j        j	        ddd	          ddd j
         j        |f fd
	            }|S )zTask used by result backends without native chord support.

    Will joins chord by creating a task chain polling the header
    for completion.
    r   )_create_chord_error_with_causemaybe_signature)allow_join_resultresult_from_tuplezcelery.chord_unlockNFT)r   max_retriesr	   default_retry_delayignore_resultr
   r   c	                    || j         } |          } ||fd|D                       }
|
j        r|
j        n|
j        }	 |
                                }|s|                     ||          n*# t          $ r}|                     |||          d }~ww xY w |          }	              5   |j        j        d          }d d d            n# 1 swxY w Y   	 |	                    |           d S # t          $ rS}t                              d||            d||	          }j                            ||
           Y d }~d S d }~ww xY w# t          $ r}	 t          |
                                          }d|j         d|}n# t"          $ r t%          |          }Y nw xY wt                              d||            ||	          }j                            ||
           Y d }~d S d }~ww xY w)Nc                 *    g | ]} |           S r   r   ).0rr   r&   s     r   
<listcomp>z?add_unlock_chord_task.<locals>.unlock_chord.<locals>.<listcomp><   s*    ;;;qqc***;;;r   r   )	countdownr'   )excr0   r'   T)timeout	propagatezChord %r raised: %rzCallback error: )messageoriginal_exc)callbackr1   zDependency z raised )r(   supports_native_joinjoin_nativejoinreadyretry	Exceptionconfresult_chord_join_timeoutdelaylogger	exceptionr   chord_error_from_stacknext_failed_join_reportidStopIterationrepr)r   group_idr6   intervalr'   resultResultGroupResultr&   r   depsjr:   r1   retchord_errorculpritreasonr"   r%   r   r$   s           `         r   unlock_chordz+add_unlock_chord_task.<locals>.unlock_chord/   s    /H #?8S11{;;;;;F;;;
 
 

 !% 9HDty	NJJLLE  Njj8jMMMN  	 	 	**8    	 #?8555	W""$$  aH>"                Ws##### W W W  !6#FFF<<E_X[E_E_nqrrr22H+2VVVVVVVVVW  	S 	S 	S#t7799::BwzBB3BB  # # #c#2HcBBB88VYZZZKK..k.RRRRRRRRR	Ss   	A7 7
BBB/
E  9CE  C!!E  $C!%E  )D   
E
AEE 
H	+.FHF63H5F66AHH	)celery.backends.baser"   celery.canvasr$   celery.resultr%   r&   r   r=   result_chord_retry_intervalAsyncResultrL   )r   r&   rS   r"   r%   r$   s   `  @@@r   add_unlock_chord_taskrY   $   s     DCCCCC------BBBBBBBBXX(d5"%("FVZafmq  s s8<!%dO'80W 0W 0W 0W 0W 0W 0W 0Ws s0Wb r   c                 ^     ddl m                      ddd           fd            }|S )Nr   	signaturez
celery.mapFr   c                 F                 j           fd|D             S )Nr   c                 &    g | ]} |          S r   r   r-   itemr   s     r   r/   z.add_map_task.<locals>.xmap.<locals>.<listcomp>l   s!    ***tT

***r   typer   itr   r\   s   ` r   xmapzadd_map_task.<locals>.xmapi   s5    y3''',****r****r   rU   r\   r   )r   re   r\   s   ` @r   add_map_taskrg   e   sX    ''''''XX<EX::+ + + + + ;:+ Kr   c                 ^     ddl m                      ddd           fd            }|S )Nr   r[   zcelery.starmapFr   c                 F                 j           fd|D             S )Nr   c                     g | ]} | S r   r   r_   s     r   r/   z6add_starmap_task.<locals>.xstarmap.<locals>.<listcomp>w   s    +++d+++r   ra   rc   s   ` r   xstarmapz"add_starmap_task.<locals>.xstarmapt   s5    y3''',++++++++r   rf   )r   rk   r\   s   ` @r   add_starmap_taskrl   p   sY    ''''''XX#EX>>, , , , , ?>, Or   c                 Z    ddl m |                     ddd          fd            }|S )Nr   )chunkszcelery.chunksFr   c                 2                         | ||          S r   )apply_chunks)r   rd   n_chunkss      r   rn   zadd_chunk_task.<locals>.chunks   s    ##D"a000r   )rU   rn   r   )r   rn   rr   s     @r   add_chunk_taskrs   {   sP    //////XX?5uX==1 1 1 1 >=1Mr   c                 n    ddl m ddlm |                     dddd          d	fd	            }|S )
5No longer used, but here for backwards compatibility.r   r#   )r&   zcelery.groupTF)r   r   r	   r
   c                 &  	 | j          |          }
fdt          |          D             }                                5 		fd|D              d d d            n# 1 swxY w Y   j        }|r|r|                    |           |S )Nc              3   ^   K   | ]'\  }} |                                          V  (dS )r   N)clone)r-   ir   r   r$   partial_argss      r   	<genexpr>z0add_group_task.<locals>.group.<locals>.<genexpr>   sX       3 3a "/$C00066|DD 3 3 3 3 3 3r   c                 @    g | ]}|                     d           S )F)rH   produceradd_to_parent)apply_async)r-   staskrH   r}   s     r   r/   z1add_group_task.<locals>.group.<locals>.<listcomp>   sK     I I I8= 8-2  4 4 I I Ir   )r   	enumerateproducer_or_acquirecurrent_worker_task	add_trail)r   tasksrJ   rH   rz   r~   taskitparentr   r}   r$   r&   s      ``   @@r   groupzadd_group_task.<locals>.group   s9   h""63//3 3 3 3 3 3!*5!1!13 3 3$$&& 	I(I I I I IAGI I I I	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I ( 	%V 	%V$$$s   
A&&A*-A*)T)rU   r$   rV   r&   r   )r   r   r$   r&   s     @@r   add_group_taskr      st     .-----//////XX>UXGG      HG Lr   c                 H    |                      ddd          d             }|S )ru   zcelery.chainFr   c                       t          d          )Nzchain is not a real task)NotImplementedError)r   r   s     r   chainzadd_chain_task.<locals>.chain   s    !"<===r   r   )r   r   s     r   add_chain_taskr      s5     	XX>%eX<<> > =<>Lr   c                     ddl m ddl m ddlm |                     ddddd          	 	 dfd	            }|S )ru   r   )chord)r   r#   zcelery.chordTF)r   r   r)   r	   r
   r   N   c           	          | j         t          |          r|j        n|}	 fd|	D             | j                   } |          } ||          }
 |
j        ||||||fi |S )Nc                 *    g | ]} |           S r,   r   )r-   sr   r$   s     r   r/   z1add_chord_task.<locals>.chord.<locals>.<listcomp>   s5     
 
 
,-OOA3'''
 
 
r   r   )r   
isinstancer   run)r   headerbodyrz   rI   r0   r'   eagerr   r   chr   _chordr   r$   s              @r   r   zadd_chord_task.<locals>.chord   s     h *65 9 9Ev 
 
 
 
 
16
 
 
x   t---VFD!!rvfdL#x8 8068 8 	8r   )r   Nr   NF)celeryr   r   rU   r$   r   )r   r   r   r   r$   s     @@@r   add_chord_taskr      s     '&&&&&------XX>E  ( (<@388 8 8 8 8 8 8( (8 Lr   N)__doc__celery._stater   celery.utils.logr   __all____name__r@   r   r    rY   rg   rl   rs   r   r   r   r   r   r   <module>r      sP    2 1 1 1 1 1 ' ' ' ' ' '
	H		 
 
 
    = = =@            ,        r   