#!/usr/bin/env python from dataclasses import dataclass, field import sys, re, os, enum, itertools from functools import partial, partialmethod from time import sleep from operator import itemgetter from defl import log, cl, Path, Undefined, Null, Assert, Time, Obj, Dunder from defl import CLIError from defl._typing_ import * import defl import defl, threading import time def pool(): def sleep(s): print(f'start {s}') time.sleep(s) print(f'end {s}') return s comPool = defl.ComPool([defl.Action.Reg(sleep, x) for x in range(1, 3)]) print(comPool.status()) while comPool.isRunning(): # print(comPool.status()) print(comPool) time.sleep(1) print(comPool.results()) res = defl.ComPool([defl.ComSubmit(sleep, x) for x in range(1, 3)]) print(res) def thread() -> None: def a(): raise ValueError() t = threading.Thread(target=a, daemon=True) t.start() print('test') res = t.join() print('res', res) print('test 2', t) thread()