
    "hF                     P   d dl mZmZmZ d dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ ddlmZmZmZ ddlmZmZ dd	lmZ  ej*                  d
      Z ej*                  d      Zd dlmZmZmZ d dlm
Z
 d dlmZmZ d Zd:dZ d Z!d Z"d Z#d Z$d Z%ejL                  jO                  dddg      d        Z(d Z) G d de*      Z+d;dZ,d Z-d Z.ejL                  jO                  d  e/ e0d                  d!        Z1d" Z2d# Z3d$ Z4d% Z5d& Z6d' Z7d( Z8d) Z9d* Z:d+ Z;d, Z<ejL                  jO                  d-d.d/g      ejL                  j{                  ej|                  d0k  xr ej|                  d1k\  d23      d4               Z?d5 Z@ejL                  jO                  d6d7d8g      d9        ZAy)<    )print_functiondivisionabsolute_importNrandom)uuid4)sleep   )Paralleldelayedparallel_config)ThreadingBackendAutoBatchingMixin)DaskDistributedBackenddistributeddask)ClientLocalCluster
get_client)time)clusterincc                       y N )argskwargss     R/var/www/html/sandstorm/venv/lib/python3.12/site-packages/joblib/test/test_dask.pynoopr      s        c                 4    t        |       | rt        d      y )Nzcondition evaluated to True)r	   
ValueError)	conditiondurations     r   slow_raise_value_errorr%      s    	(O677 r    c                     |j                  d       }i }|j                         D ]2  \  }}t        t        |      D cg c]  }|d   | k(  r| c}      ||<   4 |S c c}w )Nc                     | j                   S r   )log)dask_workers    r   <lambda>zcount_events.<locals>.<lambda>"   s
    ;?? r       )runitemslenlist)
event_nameclientworker_eventsevent_countsweventsevents          r   count_eventsr7   !   sq    JJBCML"((* ;	6$v, :"'(j"8  % : ;Q; :s   A
c           
         t               5 \  }\  }}t        |d   |       5 }t        d      5   t               d t	        d      D              }|t	        d      D cg c]  }t        |       c}k(  sJ t        j                  t              5   t               d t	        d      D               d d d         t               d t	        d      D              }|t	        d      D cg c]  }t        |       c}k(  sJ 	 d d d        d d d        d d d        y c c}w # 1 sw Y   oxY wc c}w # 1 sw Y   0xY w# 1 sw Y   4xY w# 1 sw Y   y xY w)	Naddressloopr   backendc              3   F   K   | ]  } t        t              |        y wr   r   r   .0is     r   	<genexpr>ztest_simple.<locals>.<genexpr>.         DQa D   !
   c              3   L   K   | ]  } t        t              |d k(          yw)   N)r   r%   r@   s     r   rC   ztest_simple.<locals>.<genexpr>2   s)      3#$  ?w'=>qAvF 3s   "$c              3   F   K   | ]  } t        t              |        y wr   r?   r@   s     r   rC   ztest_simple.<locals>.<genexpr>5   rD   rE   )	r   r   r   r   ranger   pytestraisesr"   )r;   sabr1   seqrB   s          r   test_simplerQ   *   s(   	 :kq&1aAiLt, 
	: 0 	: hj D%) DDuRy9!s1v9999]]:. 3HJ 3(-b	3 33 !hj D%) DDuRy9!s1v9999	:
	:: : :3 3
 :	: 	:
	: 
	:: :so   ED</D0D0 D0!D	16D0'D+9D0D<	ED0D($D00D95D<<E	EEc                 @   t         j                  t        j                  u sJ t               5 \  }\  }}t	        |d   |       5 }t        d      5  t               5 }|j                  }t        |t               sJ |j                  |u sJ |j                  dk(  sJ  |d t        t        d            D               |j                  dkD  sJ 	 d d d        d d d        d d d        d d d        y # 1 sw Y   "xY w# 1 sw Y   &xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)	Nr9   r:   r   r<   r+   c              3   >   K   | ]  } t        d                 yw)c                       y r   r   r   r    r   r*   z?test_dask_backend_uses_autobatching.<locals>.<genexpr>.<lambda>K   s    r    Nr   rA   _s     r   rC   z6test_dask_backend_uses_autobatching.<locals>.<genexpr>J   s"       .-/s        @rF   )r   compute_batch_sizer   r   r   r   r   _backend
isinstanceparallel_effective_batch_sizerJ   int)r;   rM   rN   rO   r1   r\   r=   s          r   #test_dask_backend_uses_autobatchingr_   9   s'   "55 334 5 4 
 >kq&1aAiLt, 	> 0 >Z >8 '//G%g/EFFF"++x777"88A===  !&s3x  #882===>>	>> >> >> >	> 	>> >sT   DDC<A2C0	C<DD0C95C<<DDD	DDc                      t               S r   r   r   r    r   random2ra   Q   s	    8Or    c           	      0   t               5 \  }\  }}t        |d   |       5 }t        d      5   t               d t	        d      D              \  }}||k7  sJ 	 d d d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr9   r:   r   r<   c              3   D   K   | ]  } t        t                       y wr   )r   ra   r@   s     r   rC   z3test_dont_assume_function_purity.<locals>.<genexpr>Y   s     !G"2''"2"4!G    r
   r   r   r   r   rJ   )r;   rM   rN   rO   r1   xys          r    test_dont_assume_function_purityrh   U   s    	 kq&1aAiLt, 	 0 !xz!GeAh!GG1Avv	  	 	 s9   BB +A4B #B4A=9B  B		BBmixedTFc                    ddl m} |s.t        d      D cg c]  } t        t              |       }}d}nGt        d      D cg c]1  }|dz  r t        t
              |      n t        t              |      3 }}d}t         ||            |k(  sJ t               5 \  }\  }}t        |d   |       5 }	t        d	
      5   t        dd      |      }
d d d        d }|j                  dd      }|	j                  |      }t        d |D              sJ 	 d d d        d d d        y c c}w c c}w # 1 sw Y   _xY w# 1 sw Y   (xY w# 1 sw Y   y xY w)Nr   )Batch   batch_of_inc_4_callsr
   mixed_batch_of_inc_4_callsr9   r:   r   r<   all)
batch_sizepre_dispatchc                 ,    t        | j                        S r   )r/   transition_log)dask_schedulers    r   fztest_dask_funcname.<locals>.fp   s    N99::r    42c              3   *   K   | ]  }d |d   v   yw)batch_of_incr   Nr   )rA   tups     r   rC   z%test_dask_funcname.<locals>.<genexpr>t   s     ?C~Q/?s   )joblib._daskrk   rJ   r   r   absreprr   r   r   r   replacerun_on_schedulerro   )r;   ri   rk   rB   tasks
batch_reprrM   rN   rO   r1   rW   ru   r(   s                r   test_dask_funcnamer   ]   s]   "*/(3Qa33+
 DI8
>?q1uLGCLO,'#,q/9
 
 2
e+++	 	@kq&1aAiLt, 	@ 0 F>H>uEF;#++C5J))!,C?3????	@	@ 	@ 4
F F	@ 	@	@ 	@sH   D*6D/E5E D4AE E4D=9E  E		EEc                   	
 t        d      D cg c]  }g  }}t        j                  d      

j                  t	        d            d
fd		t        dd      }t        |      }	 t        d	      5   t               	fd
|D              }d d d        |t        d      D cg c]  }g  c}k(  sJ t        d|      }t        |j                               dk(  sJ t        D cg c]  }t        |      dk(   c}      sJ t        d	      5   t               	fd|D              }d d d        t        d|      }t        |j                               dkD  sJ t        |D cg c]  }t        |      dk(   c}      sJ 	 |j                           |j                          y c c}w # 1 sw Y   !xY wc c}w c c}w # 1 sw Y   xY wc c}w # |j                           |j                          w xY w)Nd   numpyg    .Ac                     |j                   j                  |       | j                  t               j                         | S r   )testingassert_array_equalappendr   hex)list_dataXnps     r   isolated_operationzCtest_no_undesired_distributed_cache_hit.<locals>.isolated_operation   s4    JJ))$2UW[[!r    r+   r
   )	n_workersthreads_per_workerr   r<   c              3   @   K   | ]  } t              |        y wr   rU   )rA   r   r   s     r   rC   z:test_no_undesired_distributed_cache_hit.<locals>.<genexpr>   s$      7<+*+E2s   receive-from-scatterr   c              3   D   K   | ]  } t              |         yw))r   NrU   )rA   r   r   r   s     r   rC   z:test_no_undesired_distributed_cache_hit.<locals>.<genexpr>   s)      ?D+*+E::s    r   )rJ   rK   importorskiparanger^   r   r   r   r   r7   sumvaluesro   r.   close)r;   rW   listsr   r1   rescountsrr   r   r   s           @@@r   'test_no_undesired_distributed_cache_hitr   w   s    s$AR$E$			W	%B
		#c(A Q1=GG_FV, 	(* @E C	 U3Z00000
 4f=6==?#q(((-ACFaK-...V, 	 (* HM C	 4f=6==?#a'''-ACFaK-...W %	 	 1 .	 	 .se   	F++G 7F0G '	F=0:G *G?G G/;G *G?	G 0F:5G GG #G;c                   "    e Zd Zd Zd ZeZd Zy)CountSerializedc                      || _         d| _        y )Nr   )rf   count)selfrf   s     r   __init__zCountSerialized.__init__   s    
r    c                 6    | j                   t        |d|      z   S )Nrf   )rf   getattr)r   others     r   __add__zCountSerialized.__add__   s    vvsE222r    c                 R    | xj                   dz  c_         t        | j                  ffS )Nr+   )r   r   rf   )r   s    r   
__reduce__zCountSerialized.__reduce__   s     

a
$&&++r    N)__name__
__module____qualname__r   r   __radd__r   r   r    r   r   r      s    3 H,r    r   c                     | |z   |z   |z   |z   S r   r   )rN   rO   cdes        r   add5r      s    q519q=1r    c                 "   t        d      }t        d      }t        d      }t               5 \  }\  }}t        |d   |       5 }t        d||g      5  t	        t
              } ||||dd	
       ||||d	d
       |||||d	
       ||||||
      g}	|	D 
cg c]  \  }
}} |
|i | }}}
} t               |	      }d d d        t        j                  t              5  t        d| d      5  	 d d d        d d d        d d d        d d d        k(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dv sJ y c c}}}
w # 1 sw Y   xY w# 1 sw Y   nxY w# 1 sw Y   rxY w# 1 sw Y   vxY w# 1 sw Y   zxY w)Nr+   r
   rH   r9   r:   r   )r=   scatterrl      )r   r   )r=   r;   r   )rl      )r   r   r   r   r   r   r   rK   rL   	TypeErrorr   )r;   rf   rg   zrM   rN   rO   r1   ru   r   funcr   r   expectedresultss                  r   test_manual_scatterr      s   AAA	 kq&1aAiLt, 	 !Q@ ,DM1aa1-1aa1-1aa1-1aa1-/
 7<= = 2dF !$1&1 = =$(*U+, y) $V$J 	" h 77a<<77a<<
 77f%=, ,  	 	 s~   FE9AEE.E!E9#E-2E!	4E-<E9FEEE9!E*&E--E62E99F	>FFc           	        	 t        j                  d      }|j                  t        d      |j                        	|j                  t        d      |j                        }	gdz  |gdz  z   }t               5 \  }\  }}t        |d   |       5 }t        d      5   t               d	 t        |      D               d d d        t        d
|      }||d      ||d      z   dk(  sJ 	 d d d        d d d        t               5 \  }\  }}t        |d   |       5 }t        d      5   t               	fdt        d      D               d d d        t        d
|      }||d      dk(  sJ ||d      dk(  sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   exY w# 1 sw Y   BxY w# 1 sw Y   y xY w)Nr   rX   )dtyperH   r9   r:   r   r<   c              3   T   K   | ]   \  }} t        t              ||||        " yw))optNr   r   )rA   rB   r   s      r   rC   z$test_auto_scatter.<locals>.<genexpr>   s2      F&q$ )74=tQDAA Fs   &(r   r
   c              3   P   K   | ]  } t        t              d d |        y w)NrH   r   )rA   rB   data1s     r   rC   z$test_auto_scatter.<locals>.<genexpr>   s$     I1=74=rA6Is   #&r   r   )rK   r   onesr^   uint8r   r   r   r   	enumerater7   rJ   )
loop_in_threadr   data2data_to_processrM   rN   rO   r1   r   r   s
            @r   test_auto_scatterr      s   			W	%BGGCHBHHG-EGGCHBHHG-Ew{w{3O	 Dkq&1aAiL~6 
	D& 0 F 
 F*3O*DF FF ""8&AF!I,'&9*>>!CCC
	DD 
 -kq&1aAiL~6 	-& 0 J
IaIIJ ""8&AF!I,'1,,,!I,'1,,,	-- -F F
	D 
	DD DJ J	- 	-- -sx   :F#F!F?*F*F#GF;(#F/.F;:GFFF 	F##F,/F84F;;G	 GGretry_noc           	        	
 t        j                  d      
dd}
fd		fdt               5 \  }\  }}t        |d   |       5 }t	        d      5  
j                  d	       t               fd
t        |      D              }d d d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   rF   c                 &    j                  |       S r   )r   )rf   rB   jr   s      r   my_sumz#test_nested_scatter.<locals>.my_sum  s    vvayr    c                      t               }t        d      5   t                fdt              D              }d d d        t	        |      S # 1 sw Y   t	              S xY w)Nr   r<   c              3   J   K   | ]  } t              |d  |        y wr   rU   )rA   r   arrayrB   r   s     r   rC   zEtest_nested_scatter.<locals>.outer_function_joblib.<locals>.<genexpr>  s+      !56ab	1a0!s    #)r   r   r   rJ   r   )r   rB   r1   r   NUM_INNER_TASKSr   s   ``  r   outer_function_joblibz2test_nested_scatter.<locals>.outer_function_joblib  s]    V, 	 hj !:?#;%! G	
 7|	
 7|s   %AA%r9   r:   r   r<   i'  c              3   H   K   | ]  } t              |d  |        y wr   rU   )rA   rB   my_arrayr   s     r   rC   z&test_nested_scatter.<locals>.<genexpr>  s1      -. 3G12 a)   ")rK   r   r   r   r   r   r   rJ   )r;   r   NUM_OUTER_TASKSrM   rN   rO   rW   r   r   r   r   r   s          @@@@@r   test_nested_scatterr     s     
		W	%BOO 
 kq&1aAiLt, 	 0 775>HJ 272H 	  	 	 s;   B>B25B&B2B>&B/+B22B;	7B>>Cc           	         d t               5 \  }\  }}t        |d   |       5 }t        d      5   t        d      fdt	        d	      D              }|D ]  }t        t        |            dk  rJ  	 d d d        d d d        t        |d   |       5 }t        d      5   t        d      fd
t	        d	      D              }|D ]  }t        t        |            dk  rJ  	 d d d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   2xY w# 1 sw Y   6xY w# 1 sw Y   y xY w)Nc            	          t         t        d      d t        d      D                    } | t         t        d      d t        d      D                    z  } | S )Nr
   n_jobsc              3   X   K   | ]"  } t        t        j                                $ y wr   r   osgetpidrV   s     r   rC   zOtest_nested_backend_context_manager.<locals>.get_nested_pids.<locals>.<genexpr>&  s     %Mq&8gbii&8&:%M   (*c              3   X   K   | ]"  } t        t        j                                $ y wr   r   rV   s     r   rC   zOtest_nested_backend_context_manager.<locals>.get_nested_pids.<locals>.<genexpr>'  s     &N'9wryy'9';&Nr   )setr   rJ   )pidss    r   get_nested_pidsz<test_nested_backend_context_manager.<locals>.get_nested_pids%  sN    %81%%ME!H%MMN&HA&&NU1X&NNOOr    r9   r:   r   r<   r
   r   c              3   >   K   | ]  } t                       y wr   rU   rA   rW   r   s     r   rC   z6test_nested_backend_context_manager.<locals>.<genexpr>-  #      0 -GO,.0   rF   c              3   >   K   | ]  } t                       y wr   rU   r   s     r   rC   z6test_nested_backend_context_manager.<locals>.<genexpr>7  r   r   )r   r   r   r   rJ   r.   r   )r   rM   rN   rO   r1   
pid_groups	pid_groupr   s          @r   #test_nested_backend_context_managerr   $  sM   
 
 4kq&1aAiL~6 	4& 0 4/XQ/ 0"2Y0 
 ", 4Is9~.!33344	4 AiL~6 	4& 0 4/XQ/ 0"2Y0 
 ", 4Is9~.!33344	44 44 4	4 	44 4	4 	44 4sw   D5DAD5D9DD5D)&AD(D,D)4D5D
DD	D5D&"D))D2	.D55D>c           
        	
 d 		fd
t               5 \  }\  }}t        |d   |       5 }t        d      5  t               5 } 	|      dk(  sJ |j                  dk(  sJ  |
fd	t        d
      D              }d d d        D ]  \  }}|dk(  sJ |dk(  rJ  	 d d d        d d d        d d d        y # 1 sw Y   ;xY w# 1 sw Y   &xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nc                 B    | j                   j                  j                  S r   )rZ   	__class__r   )ps    r   _backend_typezJtest_nested_backend_context_manager_implicit_n_jobs.<locals>._backend_typeC  s    zz##,,,r    c                  l    t               5 }  |       | j                  fcd d d        S # 1 sw Y   y xY wr   )r   r   )r   r   s    r   get_nested_implicit_n_jobszWtest_nested_backend_context_manager_implicit_n_jobs.<locals>.get_nested_implicit_n_jobsF  s0    Z 	.1 #QXX-	. 	. 	.s   *3r9   r:   r   r<   r   c              3   >   K   | ]  } t                       y wr   rU   )rA   rW   r   s     r   rC   zFtest_nested_backend_context_manager_implicit_n_jobs.<locals>.<genexpr>P  s$      * < :;=*r   r
   )r   r   r   r   r   rJ   )r;   rM   rN   rO   r1   r   all_nested_n_jobsbackend_typenested_n_jobsr   r   s            @@r   3test_nested_backend_context_manager_implicit_n_jobsr   ?  s
   -. 
 /kq&1aAiLt, 	/ 0 
/Z 1(+/GGGG88r>)>() *!&q* )% 4E //L-'+CCCC(B.../
/	// / 
/ 
/	/ 	// /sW   CCC9B7	=CCC&C7C <CCCC	CC$c                     t        j                  t              5 }t        d      5  	 d d d        d d d        dt	        j
                        j                         v sJ y # 1 sw Y   9xY w# 1 sw Y   =xY w)Nr   r<   zcreate a dask client)rK   rL   r"   r   strvaluelower)r;   infos     r   test_errorsr  Y  sf    	z	" dV, 		 "S_%:%:%<<<<	 	 s!   A-A!A-!A*	&A--A6c           	         t               5 \  }\  }}t        |d   |       5 }t        d      5   t        d      d t	        d      D              }t        |d	   d	   d	   t              sJ 	 d d d        t        d      5   t        d      d
 t	        d      D              }t        |d	   d	   d	   t              sJ 	 d d d        d d d        d d d        y # 1 sw Y   mxY w# 1 sw Y   &xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nr9   r:   r   r<   r
   r   c              3   H   K   | ]  } t        t              d         y w)Nnested_requirer   outerrV   s     r   rC   z.test_correct_nested_backend.<locals>.<genexpr>f  s%      ,K<=NGEN$77,K    "r+   r   c              3   H   K   | ]  } t        t              d         yw)	sharedmemr  Nr  rV   s     r   rC   z.test_correct_nested_backend.<locals>.<genexpr>l  s&      ,' #GEN+>>,'r	  )r   r   r   r   rJ   r[   r   r   )r;   rM   rN   rO   r1   results         r   test_correct_nested_backendr  a  s    	 Ekq&1aAiLt, 	E 0 K++ ,KAFq,K K!&)A,q/3IJJJK !0 E++ ,'"1X,' ' "&)A,q/3CDDD	E	EE EK KE E	E 	EE EsQ   C>C2>C.C2>C&C2	C>C#C2&C/+C22C;	7C>>Dc                 N      t        dd       fdt        d      D              S )Nr
   threads)r   preferc              3   H   K   | ]  } t        t                      y wr   )r   middle)rA   rW   r  s     r   rC   zouter.<locals>.<genexpr>s  s!      0,-'0r   r+   r   rJ   r  s   `r   r  r  r  s*    /81Y/ 016q0  r    c                 H     t        d|       d t        d      D              S )Nr
   )r   requirec              3   D   K   | ]  } t        t                       y wr   )r   innerrV   s     r   rC   zmiddle.<locals>.<genexpr>y  s      //rd   r+   r  )r  s    r   r  r  x  s)    .81g. /"'(/  r    c                  *    t               j                  S r   )r   rZ   r   r    r   r  r  ~  s    :r    c                     t        | dd      5  t        d      5   t        d      d t        d	      D               d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)
NFT)r;   	processesset_as_defaultr   r<   rl   r   c              3   F   K   | ]  } t        t              |        y wr   )r   idr@   s     r   rC   z0test_secede_with_no_processes.<locals>.<genexpr>  s     @!{wr{1~@rE   r
   )r   r   r   rJ   r:   s    r   test_secede_with_no_processesr    sg    	TU4	@ AV, 	AHA@uQx@@	AA A	A 	AA As!   A#AAA	AA%c                 0    ddl m}  |       j                  S )Nr   )
get_worker)r   r   r9   )rW   r   s     r   _worker_addressr!    s    &<r    c           	         t               5 \  }\  }}t        |d   |       5 }t        d|d         5   t               d t	        d      D              }||d   gdz  k(  sJ 	 d d d        t        d|d         5   t               d t	        d      D              }||d   gdz  k(  sJ 	 d d d        d d d        d d d        y # 1 sw Y   bxY w# 1 sw Y   &xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nr9   r:   r   )r=   workersc              3   F   K   | ]  } t        t              |        y wr   r   r!  r@   s     r   rC   z-test_dask_backend_keywords.<locals>.<genexpr>  $      !D45,GO,Q/!DrE   rF   c              3   F   K   | ]  } t        t              |        y wr   r%  r@   s     r   rC   z-test_dask_backend_keywords.<locals>.<genexpr>  r&  rE   re   )r;   rM   rN   rO   r1   rP   s         r   test_dask_backend_keywordsr(    s   	 
2kq&1aAiLt, 		2 9F 2 hj !D9>r!D Dq|nr11112
 !9F 2 hj !D9>r!D Dq|nr11112		2
2 
22 2
2 2		2 		2
2 
2sQ   C(C/C#C;/C+C3C(C	CCCC%	!C((C1c                    t        d|       5 }t        d      5   t               d t        d      D               d d d        t	               }|j
                  j                  j                  r>t        d       t	               |dz   k  sJ |j
                  j                  j                  r>|j                  rJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)	NF)r  r;   r   r<   c              3   F   K   | ]  } t        t              |        y wr   r?   r@   s     r   rC   ztest_cleanup.<locals>.<genexpr>       :1|ws|A:rE   rF   g{Gz?r   )
r   r   r   rJ   r   r   	schedulerr   r	   futures)r;   r1   starts      r   test_cleanupr/    s    	%d	+ 	"vV, 	;HJ:b	::	; nn&&,,$K6EAI%%% nn&&,, >>!!>	" 	"	; 	;	" 	"s(   C!CA/C,CC		CCcluster_strategyadaptivelate_scalingz2.1.1z1.28.0z?distributed bug - https://github.com/dask/distributed/pull/2841)reasonc                    t        ddd      }t        |      }| dk(  r |j                  dd       n| dk(  r |j                  d       	 t	        d	      5   t               d
 t        d      D               d d d        |j                           |j                          y # 1 sw Y   +xY w# |j                           |j                          w xY w)Nr   Fr
   r   r  r   r1  )minimummaximumr2  r   r<   c              3   F   K   | ]  } t        t              |        y wr   r?   r@   s     r   rC   z(test_wait_for_workers.<locals>.<genexpr>  r+  rE   rF   )r   r   adaptscaler   r   rJ   r   )r0  r   r1   s      r   test_wait_for_workersr;    s    
 Q%ANGG_F:%a+	^	+
 	aV, 	; HJ:b	::	;
 		; 	;
 	s$   B/ !B#9B/ #B,(B/ /#Cc                     t        ddd      } t        |       }	 t        dd      5  d}t        j                  t
        |	      5   t               d
 t        d      D               d d d        d d d        t        dd      5  d}t        j                  t        |	      5   t               d t        d      D               d d d        d d d        |j                           | j                          y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   KxY w# 1 sw Y   OxY w# |j                           | j                          w xY w)Nr   Fr
   r5  r   g?)r=   wait_for_workers_timeoutz7DaskDistributedBackend has no worker after 0.1 seconds.)matchc              3   F   K   | ]  } t        t              |        y wr   r?   r@   s     r   rC   z0test_wait_for_workers_timeout.<locals>.<genexpr>       >q<73<?>rE   rF   z+DaskDistributedBackend has no active workerc              3   F   K   | ]  } t        t              |        y wr   r?   r@   s     r   rC   z0test_wait_for_workers_timeout.<locals>.<genexpr>  r@  rE   )
r   r   r   rK   rL   TimeoutErrorr   rJ   RuntimeErrorr   )r   r1   msgs      r   test_wait_for_workers_timeoutrE    s   Q%ANGG_FVcJ 	?KC|37 ?
>E"I>>?	? VaH 	??C|37 ?
>E"I>>?	? 	? ?	? 	?? ?	? 	? 	sj   D% D!C5'D/D% D"!DDD% 5C>	:DD
D% D	DD"D% %#Er=   lokymultiprocessingc                      t        d      }t        |      } fd}|j                  |      }|j                         }t	        |      dk(  sJ |d   j
                  }t        |t              sJ dt        |      v sJ y )Nr
   )r   c                      t        j                  d      5 }  t        d      d t        d      D               d d d        | S # 1 sw Y    S xY w)NT)recordr
   )r   r=   c              3   F   K   | ]  } t        t              |        y wr   r?   r@   s     r   rC   zftest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallel.<locals>.<genexpr>  s      04$%Q04rE   rF   )warningscatch_warningsr   rJ   )rJ  r=   s    r   func_using_joblib_parallelzStest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallel  sU    
 $$D1 	4V/HAw/ 04).r04 4	4 		4 s   $AAr+   r   zdistributed.worker.daemon)	r   r   submitr  r.   messager[   UserWarningr   )r=   r   r1   rN  futrJ  warnings   `      r   /test_joblib_warning_inside_dask_daemonic_workerrT    sz    Q'GG_F	 --2
3CZZ\Fv;!QiGg{+++&#g,666r    )g?)r   r   )B
__future__r   r   r   r   rL  rK   r   uuidr   r   r	    r   r   r   r\   r   r   _daskr   r   r   r   r   r   r   distributed.metricsdistributed.utils_testr   r   r   r%   r7   rQ   r_   ra   rh   markparametrizer   r   objectr   r   r   r   r/   rJ   r   r   r   r  r  r  r  r  r  r!  r(  r/  skipif__version__r;  rE  rT  r   r    r   <module>r`     s   @ @ 	      1 1 : *!f!!-0v6" 9 8 $ /	8:>0 4-0@ 1@26r,f ,J-< T%(^4 5:46/4=E"A 
2
" +j.-IJw&N;+B+Bh+NL  NN K** V->$?@7 A7r    