o
    tBh                     @   s   zd dl ZW n ey   d dlZY nw d dlZd dlZd dlmZmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ dd Zd	d
 Zdd Zed e
edg ddd ZdS )    N)parametrizetimeout)with_multiprocessing)concurrency_safe_rename)Paralleldelayed)concurrency_safe_writec                 C   s<   t |d}t| | W d    d S 1 sw   Y  d S )Nwb)opencpickledump)outputfilenamef r   v/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/joblib/test/test_store_backends.py
write_func   s   "r   c              
   C   sz   t dD ]/}zt|d}t|}W d    n1 sw   Y  W  n ttfy3   td Y qw  | |ks;J d S )N
   rbg?)ranger
   r   loadOSErrorIOErrortimesleep)expectedr   ir   reloadedr   r   r   	load_func   s   r   c                 C   s   t | ||}t|| d S N)r   r   )to_writer   r   temporary_filenamer   r   r   concurrency_safe_write_rename&   s   r"   backend)multiprocessingloky	threadingc                    sX   |  dj dd ttdD dd tdD }td|d	 fd
d|D  d S )Nztest.pklc                 S   s   i | ]}t ||qS r   )str.0r   r   r   r   
<dictcomp>3   s    z/test_concurrency_safe_write.<locals>.<dictcomp>g     j@c                 S   s*   g | ]}|d  dkrt jttdntqS )      )r   )	functoolspartialr"   r   r   r(   r   r   r   
<listcomp>4   s    z/test_concurrency_safe_write.<locals>.<listcomp>   r,   )n_jobsr#   c                 3   s    | ]
}t | V  qd S r   )r   )r)   funcr   objr   r   	<genexpr>7   s    
z.test_concurrency_safe_write.<locals>.<genexpr>)joinstrpathr   intr   )tmpdirr#   funcsr   r3   r   test_concurrency_safe_write,   s   r;   )cPickler   ImportErrorpickler-   r   joblib.testingr   r   joblib.test.commonr   joblib.backportsr   joblibr   r   joblib._store_backendsr   r   r   r"   r;   r   r   r   r   <module>   s&    