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:
|
def flush(timeout: float = 2.0) -> None:
|
||||||
"""Attend que la queue soit drainée. Utile en test."""
|
"""Attend que la queue soit drainée. Utile en test."""
|
||||||
if _queue is None:
|
q = _queue
|
||||||
|
if q is None:
|
||||||
return
|
return
|
||||||
# Use a sentinel approach to properly honour the timeout
|
q.join()
|
||||||
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)
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ from src.api import tokens_db, tracking
|
|||||||
def test_counter_worker_increments_count(temp_db):
|
def test_counter_worker_increments_count(temp_db):
|
||||||
_, token_id = tokens_db.create_token(temp_db, "x")
|
_, 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))
|
tracking.start_worker(str(temp_db))
|
||||||
try:
|
try:
|
||||||
tracking.enqueue_counter_update(token_id)
|
tracking.enqueue_counter_update(token_id)
|
||||||
|
|||||||
Reference in New Issue
Block a user