@classmethod
    def join_all(cls, tasks, timeout = -1):
            
        if timeout != -1:
            deadline = time.time() + timeout
        else:
            deadline = -1
            
        results = {}
        
        for t in tasks[:]: #tasks are copied to prevent modification during iteration
            try:
                if deadline == -1:
                    results[t] = cls.join(t, -1)
                else:
                    results[t] = cls.join(t, deadline - time.time())
            except JoinError, je:
                results[je.tasklet] = je
            except TaskletExit:
                raise
            except:
                assert False, "expecting only join errors here"
            
        return [results[t] for t in tasks]
Modifies a job.
dataset/ETHPy150Open concurrence/concurrence/lib/concurrence/core.py/Tasklet.join_all--crossover with--dataset/ETHPy150Open Nextdoor/ndscheduler/ndscheduler/core/scheduler/base.py/SingletonScheduler.modify_scheduler_job