Open poinot opened 7 years ago
I had the same problem. My solution was to add a task_done
in run()
method of the MySpecialThread
class (workflow/pattern/controlflow.py).
class MySpecialThread(threading.Thread):
def __init__(self, itemq, *args, **kwargs):
threading.Thread.__init__(self, *args, **kwargs)
self.itemq = itemq
def run(self):
call = self.itemq.get()
call()
self.itemq.task_done()
The SYNCHRONIZE pattern runs concurrent callbacks using threads. However, the call does not fire the before_each_callback and after_each_callback wrappers.
Proposed changed in workflow/pattern/controlflow.py (_synchronize)