API: corriger flush() et isolation test compteur (#78)
This commit is contained in:
+3
-11
@@ -104,15 +104,7 @@ def enqueue_counter_update(token_id: int) -> None:
|
||||
|
||||
def flush(timeout: float = 2.0) -> None:
|
||||
"""Attend que la queue soit drainée. Utile en test."""
|
||||
if _queue is None:
|
||||
q = _queue
|
||||
if q is None:
|
||||
return
|
||||
# Use a sentinel approach to properly honour the timeout
|
||||
done_event = threading.Event()
|
||||
|
||||
def _wait():
|
||||
_queue.join()
|
||||
done_event.set()
|
||||
|
||||
t = threading.Thread(target=_wait, daemon=True)
|
||||
t.start()
|
||||
done_event.wait(timeout=timeout)
|
||||
q.join()
|
||||
|
||||
@@ -4,6 +4,7 @@ from src.api import tokens_db, tracking
|
||||
def test_counter_worker_increments_count(temp_db):
|
||||
_, token_id = tokens_db.create_token(temp_db, "x")
|
||||
|
||||
tracking.stop_worker() # reset any worker left by earlier tests
|
||||
tracking.start_worker(str(temp_db))
|
||||
try:
|
||||
tracking.enqueue_counter_update(token_id)
|
||||
|
||||
Reference in New Issue
Block a user