
    3[gG                     T   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mZ d Z d:dZ!d Z"d Z#d Z$d Z%d Z&ejN                  jQ                  dddg      d        Z)d Z* G d de+      Z,d;dZ-d Z.d Z/ejN                  jQ                  d  e0 e1d                  d!        Z2d" Z3d# Z4d$ Z5d% Z6d& Z7d' Z8d( Z9d) Z:d* Z;d+ Z<d, Z=ejN                  jQ                  d-d.d/g      ejN                  j}                  ej~                  d0k  xr ej~                  d1k\  d23      d4               Z@d5 ZAejN                  jQ                  d6d7d8g      d9        ZBy)<    )print_functiondivisionabsolute_importNrandom)uuid4)sleep   )Paralleldelayedparallel_config)ThreadingBackendAutoBatchingMixin)DaskDistributedBackenddistributeddask)ClientLocalCluster
get_client)time)clusterinccleanupc                       y N )argskwargss     P/var/www/html/bid-api/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_eventsr8   #   sp    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>0         D)Qa)   !
   c              3   L   K   | ]  } t        t              |d k(          yw)   N)r   r&   rA   s     r   rD   ztest_simple.<locals>.<genexpr>4   s)      3(11  ?w'=>qAvF(1s   "$c              3   F   K   | ]  } t        t              |        y wr   r@   rA   s     r   rD   ztest_simple.<locals>.<genexpr>7   rE   rF   )	r   r   r   r   ranger   pytestraisesr#   )r<   sabr2   seqrC   s          r   test_simplerR   ,   s   	kq&1aAiLt, 0 hj D%) DDuRy9y!s1vy9999]]:.HJ 3(-b	3 3 / !hj D%) DDuRy9y!s1vy9999 1 - 
 :..
 : 10 -, 
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)	Nr:   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>M   s    r!   Nr   rB   _s     r   rD   z6test_dask_backend_uses_autobatching.<locals>.<genexpr>L   s"      !0A .-/!0s        @rG   )r   compute_batch_sizer   r   r   r   r   _backend
isinstanceparallel_effective_batch_sizerK   int)r<   rN   rO   rP   r2   r]   r>   s          r   #test_dask_backend_uses_autobatchingr`   ;   s   "55 334 5 4 
kq&1aAiLt, 0Z8 '//G%g/EFFF"++x777"88A===  !&s3x  #882===   1 - 
  Z 10 -, 
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   random2rb   S   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)Nr:   r;   r   r=   c              3   D   K   | ]  } t        t                       y wr   )r   rb   rA   s     r   rD   z3test_dont_assume_function_purity.<locals>.<genexpr>[   s     !Gh"2''"2"4h    r
   r   r   r   r   rK   )r<   rN   rO   rP   r2   xys          r    test_dont_assume_function_purityri   W   sy    	kq&1aAiLt, 0!xz!GeAh!GG1Avv 1 - 
00 -, 
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_callsr:   r;   r   r=   all)
batch_sizepre_dispatchc                 ,    t        | j                        S r   )r0   transition_log)dask_schedulers    r   fztest_dask_funcname.<locals>.fr   s    N99::r!   42c              3   *   K   | ]  }d |d   v   yw)batch_of_incr   Nr   )rB   tups     r   rD   z%test_dask_funcname.<locals>.<genexpr>v   s     ?3C~Q/3s   )joblib._daskrl   rK   r   r   absreprr   r   r   r   replacerun_on_schedulerrp   )r<   rj   rl   rC   tasks
batch_reprrN   rO   rP   r2   rX   rv   r)   s                r   test_dask_funcnamer   _   s:   "*/(3(Qa(3+
 DI8
CKaq1uLGCLO,'#,q/98 	 
 2
e+++	kq&1aAiLt, 0>H>uE 1;#++C5J))!,C?3???? - 
 4
 10 -, 
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                  d        |j                  d       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                  d        |j                  d       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   rV   )rB   r   r   s     r   rD   z:test_no_undesired_distributed_cache_hit.<locals>.<genexpr>   s#      @Eu+*+E2s   receive-from-scatterr   c              3   D   K   | ]  } t              |         yw))r   NrV   )rB   r   r   r   s     r   rD   z:test_no_undesired_distributed_cache_hit.<locals>.<genexpr>   s(      HMu+*+E::s       timeoutr   )rK   rL   importorskiparanger_   r   r   r   r   r8   sumvaluesrp   r/   close)
rX   listsr   r2   rescountsrr   r   r   s
          @@@r   'test_no_undesired_distributed_cache_hitr   y   s    s$ARE$			W	%B
		#c(A Q1=GG_F"V,(* @E C - U3Z0ZZ0000
 4f=6==?#q(((-ACFaK-...V, (* HM C - 4f=6==?#a'''-ACFaK-...R b!W % -, 1 .,, .R b!se   	F/+G 7F4G '	G0:G *G?G G/;G *G?	G 4F>9G GG 'Hc                   "    e Zd Zd Zd ZeZd Zy)CountSerializedc                      || _         d| _        y )Nr   )rg   count)selfrg   s     r   __init__zCountSerialized.__init__   s    
r!   c                 6    | j                   t        |d|      z   S )Nrg   )rg   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   rg   )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   )rO   rP   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
   rI   r:   r;   r   )r>   scatterrm      )r   r   )r>   r<   r   )rm      )r   r   r   r   r   r   r   rL   rM   	TypeErrorr   )r<   rg   rh   zrN   rO   rP   r2   rv   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<=6; 2dF !$1&16;  =$(*U+ A y)$V$J K * - 
" h 77a<<77a<<
 77f%= A@ KJ *) -, 
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   rY   )dtyperI   r:   r;   r   r=   c              3   T   K   | ]   \  }} t        t              ||||        " yw))optNr   r    )rB   rC   r   s      r   rD   z$test_auto_scatter.<locals>.<genexpr>   s1      F*Dwq$ )74=tQDAA*Ds   &(r   r
   c              3   P   K   | ]  } t        t              d d |        y w)NrI   r   )rB   rC   data1s     r   rD   z$test_auto_scatter.<locals>.<genexpr>   s%     I1=74=rA6s   #&r   r   )rL   r   onesr_   uint8r   r   r   r   	enumerater8   rK   )
loop_in_threadr   data2data_to_processrN   rO   rP   r2   r   r   s
            @r   test_auto_scatterr      s   			W	%BGGCHBHHG-EGGCHBHHG-Ew{w{3O	kq&1aAiL~6& 0 
 F*3O*DF F 1 ""8&AF!I,'&9*>>!CCC 7 
 
kq&1aAiL~6& 0
IaII 1 ""8&AF!I,'1,,,!I,'1,,, 7 
 10 76 
 10 76 
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   rG   c                 &    j                  |       S r   )r   )rg   rC   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   rV   )rB   r   arrayrC   r   s     r   rD   zEtest_nested_scatter.<locals>.outer_function_joblib.<locals>.<genexpr>  s/      !;%Qab	1a0 ;%s    #)r   r   r   rK   r   )r   rC   r2   r   NUM_INNER_TASKSr   s   ``  r   outer_function_joblibz2test_nested_scatter.<locals>.outer_function_joblib  sX    V, hj !:?#;%! G -
 7| -
 7|s   %AA%r:   r;   r   r=   i'  c              3   H   K   | ]  } t              |d  |        y wr   rV   )rB   rC   my_arrayr   s     r   rD   z&test_nested_scatter.<locals>.<genexpr>   s1      2HQ 3G12 a)2H   ")rL   r   r   r   r   r   r   rK   )r<   r   NUM_OUTER_TASKSrN   rO   rP   rX   r   r   r   r   r   s          @@@@@r   test_nested_scatterr     s     
		W	%BOO 
kq&1aAiLt, 0775>HJ 272H  1 - 
00 -, 
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getpidrW   s     r   rD   zOtest_nested_backend_context_manager.<locals>.get_nested_pids.<locals>.<genexpr>(  s      %MHq&8gbii&8&:H   (*c              3   X   K   | ]"  } t        t        j                                $ y wr   r   rW   s     r   rD   zOtest_nested_backend_context_manager.<locals>.get_nested_pids.<locals>.<genexpr>)  s      &NX'9wryy'9';Xr   )setr   rK   )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!   r:   r;   r   r=   r
   r   c              3   >   K   | ]  } t                       y wr   rV   rB   rX   r   s     r   rD   z6test_nested_backend_context_manager.<locals>.<genexpr>/  #      0& -GO,.&   rG   c              3   >   K   | ]  } t                       y wr   rV   r   s     r   rD   z6test_nested_backend_context_manager.<locals>.<genexpr>9  r   r   )r   r   r   r   rK   r/   r   )r   rN   rO   rP   r2   
pid_groups	pid_groupr   s          @r   #test_nested_backend_context_managerr   &  s   
 
kq&1aAiL~6& 0/XQ/ 0"2Y0 
 ",Is9~.!333 ", 1 7 AiL~6& 0/XQ/ 0"2Y0 
 ",Is9~.!333 ", 1 7 
00 76 10 76 
sw   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   )r[   	__class__r   )ps    r   _backend_typezJtest_nested_backend_context_manager_implicit_n_jobs.<locals>._backend_typeE  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_jobsH  s%    Z1 #QXX- ZZs   *3r:   r;   r   r=   r   c              3   >   K   | ]  } t                       y wr   rV   )rB   rX   r   s     r   rD   zFtest_nested_backend_context_manager_implicit_n_jobs.<locals>.<genexpr>R  s$      *!)A < :;=!)r   r
   )r   r   r   r   r   rK   )r<   rN   rO   rP   r2   r   all_nested_n_jobsbackend_typenested_n_jobsr   r   s            @@r   3test_nested_backend_context_manager_implicit_n_jobsr   A  s    -. 
kq&1aAiLt, 0Z1(+/GGGG88r>)>() *!&q* )%   4E/L-'+CCCC(B... 4E 1 - 
  Z 10 -, 
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)rL   rM   r#   r   strvaluelower)r<   infos     r   test_errorsr  [  sX    	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)Nr:   r;   r   r=   r
   r   c              3   H   K   | ]  } t        t              d         y w)Nnested_requirer   outerrW   s     r   rD   z.test_correct_nested_backend.<locals>.<genexpr>h  s#      ,KAIANGEN$77    "r,   r   c              3   H   K   | ]  } t        t              d         yw)	sharedmemr	  Nr  rW   s     r   rD   z.test_correct_nested_backend.<locals>.<genexpr>n  s&      ,'% #GEN+>>%r  )r   r   r   r   rK   r\   r   r   )r<   rN   rO   rP   r2   results         r   test_correct_nested_backendr  c  s    	kq&1aAiLt, 0++ ,KAFq,K K!&)A,q/3IJJJ 1 !0++ ,'"1X,' ' "&)A,q/3CDDD	 1 - 
 10 10 -, 
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)rB   rX   r
  s     r   rD   zouter.<locals>.<genexpr>u  s       019A'r   r,   r   rK   r	  s   `r   r  r  t  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   innerrW   s     r   rD   zmiddle.<locals>.<genexpr>{  s      /"*Q(re   r,   r  )r  s    r   r  r  z  s)    .81g. /"'(/  r!   c                  *    t               j                  S r   )r   r[   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=   rm   r   c              3   F   K   | ]  } t        t              |        y wr   )r   idrA   s     r   rD   z0test_secede_with_no_processes.<locals>.<genexpr>  s     @x!{wr{1~xrF   r
   )r   r   r   rK   r;   s    r   test_secede_with_no_processesr"    sN    	TU4	@V,HA@uQx@@ - 
A	@,, 
A	@s!   A#AAA	AA%c                 0    ddl m}  |       j                  S )Nr   )
get_worker)r   r$  r:   )rX   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)Nr:   r;   r   )r>   workersc              3   F   K   | ]  } t        t              |        y wr   r   r%  rA   s     r   rD   z-test_dask_backend_keywords.<locals>.<genexpr>  "      !D9BA,GO,Q/rF   rG   c              3   F   K   | ]  } t        t              |        y wr   r)  rA   s     r   rD   z-test_dask_backend_keywords.<locals>.<genexpr>  r*  rF   rf   )r<   rN   rO   rP   r2   rQ   s         r   test_dask_backend_keywordsr,    s    	kq&1aAiLt, 9F hj !D9>r!D Dq|nr1111 G
 !9F hj !D9>r!D Dq|nr1111 G - 
FF
 GF -, 
sQ   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@   rA   s     r   rD   z/test_scheduler_tasks_cleanup.<locals>.<genexpr>       :	1|ws|A	rF   rG   g{Gz?r   )
r   r   r   rK   r   r   	schedulerr   r	   futures)r<   r2   starts      r   test_scheduler_tasks_cleanupr3    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   r5  )minimummaximumr6  r   r=   c              3   F   K   | ]  } t        t              |        y wr   r@   rA   s     r   rD   z(test_wait_for_workers.<locals>.<genexpr>  r/  rF   rG   )r   r   adaptscaler   r   rK   r   )r4  r   r2   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
   r9  r   g?)r>   wait_for_workers_timeoutz7DaskDistributedBackend has no worker after 0.1 seconds.)matchc              3   F   K   | ]  } t        t              |        y wr   r@   rA   s     r   rD   z0test_wait_for_workers_timeout.<locals>.<genexpr>       >Iq<73<?IrF   rG   z+DaskDistributedBackend has no active workerc              3   F   K   | ]  } t        t              |        y wr   r@   rA   s     r   rD   z0test_wait_for_workers_timeout.<locals>.<genexpr>  rD  rF   )
r   r   r   rL   rM   TimeoutErrorr   rK   RuntimeErrorr   )r   r2   msgs      r   test_wait_for_workers_timeoutrI    s    Q%ANGG_FVcJKC|37
>E"I>> 8 K VaH?C|37
>E"I>> 8 I 	 87 KJ 87 IH 	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 	 |j                  d        |j                  d       y # |j                  d        |j                  d       w xY w)	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@   rA   s     r   rD   zftest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallel.<locals>.<genexpr>  s      48-6LGCLOYrF   rG   )warningscatch_warningsr   rK   )rN  r>   s    r   func_using_joblib_parallelzStest_joblib_warning_inside_dask_daemonic_worker.<locals>.func_using_joblib_parallel  sP    
 ((5373 48-22Y48 8 6 M	 6 Ms   $AAr,   r   zdistributed.worker.daemonr   r   )
r   r   submitr  r/   messager\   UserWarningr  r   )r>   r   r2   rR  futrN  warnings   `      r   /test_joblib_warning_inside_dask_daemonic_workerrX    s    Q'GG_F"		 mm676{a)##';///*c'l:::R b! 	R b!s   A&B' ''C)g?)r   r   )C
__future__r   r   r   r   rP  rL   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    r&   r8   rR   r`   rb   ri   markparametrizer   r   objectr   r   r   r   r0   rK   r   r   r   r  r  r  r  r  r"  r%  r,  r3  skipif__version__r?  rI  rX  r   r!   r   <module>rd     s   @ @ 	      1 1 : *!f!!-0v6" 9 8 $ 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->$?@" A"r!   