OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
genai
/
venv
/
lib
/
python3.6
/
site-packages
/
tqdm
/
contrib
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:00:16 AM
rwxr-xr-x
📄
__init__.py
2.54 KB
05/09/2024 07:00:16 AM
rw-r--r--
📁
__pycache__
-
05/09/2024 07:00:16 AM
rwxr-xr-x
📄
bells.py
837 bytes
05/09/2024 07:00:16 AM
rw-r--r--
📄
concurrent.py
4.54 KB
05/09/2024 07:00:16 AM
rw-r--r--
📄
discord.py
3.99 KB
05/09/2024 07:00:16 AM
rw-r--r--
📄
itertools.py
814 bytes
05/09/2024 07:00:16 AM
rw-r--r--
📄
logging.py
3.75 KB
05/09/2024 07:00:16 AM
rw-r--r--
📄
slack.py
4.1 KB
05/09/2024 07:00:16 AM
rw-r--r--
📄
telegram.py
5.11 KB
05/09/2024 07:00:16 AM
rw-r--r--
📄
utils_worker.py
1.22 KB
05/09/2024 07:00:16 AM
rw-r--r--
Editing: utils_worker.py
Close
""" IO/concurrency helpers for `tqdm.contrib`. """ from __future__ import absolute_import from collections import deque from concurrent.futures import ThreadPoolExecutor from ..auto import tqdm as tqdm_auto __author__ = {"github.com/": ["casperdcl"]} __all__ = ['MonoWorker'] class MonoWorker(object): """ Supports one running task and one waiting task. The waiting task is the most recent submitted (others are discarded). """ def __init__(self): self.pool = ThreadPoolExecutor(max_workers=1) self.futures = deque([], 2) def submit(self, func, *args, **kwargs): """`func(*args, **kwargs)` may replace currently waiting task.""" futures = self.futures if len(futures) == futures.maxlen: running = futures.popleft() if not running.done(): if len(futures): # clear waiting waiting = futures.pop() waiting.cancel() futures.appendleft(running) # re-insert running try: waiting = self.pool.submit(func, *args, **kwargs) except Exception as e: tqdm_auto.write(str(e)) else: futures.append(waiting) return waiting