| 1234567891011121314151617181920212223242526272829 |
- import threading
- import queue
- import logging
- q = queue.Queue()
- def worker():
- while True:
- try:
- task = q.get()
- logging.debug(f"Working on {task}")
- job, callback = task
- job(callback)
- logging.debug(f"Working on {task} done.")
- q.task_done()
- except Exception as e:
- logging.debug("error:", exc_info=e)
- raise e
- def init_workers(count=2):
- for _ in range(count):
- threading.Thread(target=worker).start()
- class Pool:
- def submit(self, job, callback):
- q.put((job, callback))
- pool = Pool()
|