More cleanup, yey!
[python_utils.git] / thread_utils.py
index 51078a4e57ebe9193a3eee4669a1cf33a55bb4e0..4db4cf68b4ef916f323f90bae492d1c59dca361f 100644 (file)
@@ -1,5 +1,7 @@
 #!/usr/bin/env python3
 
+"""Utilities for dealing with threads + threading."""
+
 import functools
 import logging
 import os
@@ -61,7 +63,7 @@ def is_current_thread_main_thread() -> bool:
 
 def background_thread(
     _funct: Optional[Callable],
-) -> Tuple[threading.Thread, threading.Event]:
+) -> Callable[..., Tuple[threading.Thread, threading.Event]]:
     """A function decorator to create a background thread.
 
     *** Please note: the decorated function must take an shutdown ***
@@ -104,13 +106,13 @@ def background_thread(
                 kwargs=kwa,
             )
             thread.start()
-            logger.debug(f'Started thread {thread.name} tid={thread.ident}')
+            logger.debug('Started thread "%s" tid=%d', thread.name, thread.ident)
             return (thread, should_terminate)
 
         return inner_wrapper
 
     if _funct is None:
-        return wrapper
+        return wrapper  # type: ignore
     else:
         return wrapper(_funct)
 
@@ -163,7 +165,7 @@ def periodically_invoke(
             newargs = (should_terminate, *args)
             thread = threading.Thread(target=helper_thread, args=newargs, kwargs=kwargs)
             thread.start()
-            logger.debug(f'Started thread {thread.name} tid={thread.ident}')
+            logger.debug('Started thread "%s" tid=%d', thread.name, thread.ident)
             return (thread, should_terminate)
 
         return wrapper_repeat