
    0Fie                    Z    d dl mZ d dlmZmZ d dlmZ d dlmZ erd dl	m
Z
 ddZddZdS )    )annotations)
CollectionIterable)TYPE_CHECKING)Key)
Transitionkeys_or_stimuliset[Key | str]transition_logIterable[Transition]returnlist[Transition]c                       fd|D             S )a5  Creates a story from the scheduler transition log given a set of keys
    describing tasks or stimuli.

    Parameters
    ----------
    keys_or_stimuli : set[str]
        Task keys or stimulus_id's
    log : iterable
        The scheduler transition log

    Returns
    -------
    story : list[tuple]
    c                ^    g | ])}|d          v s                     |d                   '|*S )r      )intersection).0tr	   s     4lib/python3.11/site-packages/distributed/_stories.py
<listcomp>z#scheduler_story.<locals>.<listcomp>   sI       Q4?""o&B&B1Q4&H&H" 	
"""     )r	   r   s   ` r   scheduler_storyr      s.    "      r   Collection[Key | str]logIterable[tuple]listc                       fd|D             S )a  Creates a story from the worker log given a set of keys
    describing tasks or stimuli.

    Parameters
    ----------
    keys_or_stimuli : set[str]
        Task keys or stimulus_id's
    log : iterable
        The worker log

    Returns
    -------
    story : list[str]
    c                    g | ]:t          fd D                       st          fdD                       8;S )c              3      K   | ]}|v V  	d S Nr   )r   keymsgs     r   	<genexpr>z*worker_story.<locals>.<listcomp>.<genexpr>7   s'      55cscz555555r   c              3  n   K   | ]/}D ]*}t          |t          t          t          f          $||v V  +0d S r!   )
isinstancetupler   set)r   r"   cr#   s      r   r$   z*worker_story.<locals>.<listcomp>.<genexpr>8   si       
 

 
 !eT3/00	
1H
 
 
 
 
 
 
r   )any)r   r#   r	   s    @r   r   z worker_story.<locals>.<listcomp>4   s     
 
 
5555_55555
  
 
 
 
&
 
 
 
 
	

 
 
r   r   )r	   r   s   ` r   worker_storyr+   %   s.    
 
 
 

 
 
 
r   N)r	   r
   r   r   r   r   )r	   r   r   r   r   r   )
__future__r   collections.abcr   r   typingr   dask.typingr   distributed.schedulerr   r   r+   r   r   r   <module>r1      s    " " " " " " 0 0 0 0 0 0 0 0                   1000000   0     r   