projects
/
python_utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More cleanup.
[python_utils.git]
/
thread_utils.py
diff --git
a/thread_utils.py
b/thread_utils.py
index 51078a4e57ebe9193a3eee4669a1cf33a55bb4e0..2375f3df3938b6a5562911af28202a909b0a0cd7 100644
(file)
--- a/
thread_utils.py
+++ b/
thread_utils.py
@@
-1,10
+1,12
@@
#!/usr/bin/env python3
#!/usr/bin/env python3
+"""Utilities for dealing with threads + threading."""
+
import functools
import logging
import os
import threading
import functools
import logging
import os
import threading
-from typing import Callable, Optional, Tuple
+from typing import
Any,
Callable, Optional, Tuple
# This module is commonly used by others in here and should avoid
# taking any unnecessary dependencies back on them.
# This module is commonly used by others in here and should avoid
# taking any unnecessary dependencies back on them.
@@
-60,8
+62,8
@@
def is_current_thread_main_thread() -> bool:
def background_thread(
def background_thread(
- _funct: Optional[Callable],
-) ->
Tuple[threading.Thread, threading.Event
]:
+ _funct: Optional[Callable
[..., Any]
],
+) ->
Callable[..., Tuple[threading.Thread, threading.Event]
]:
"""A function decorator to create a background thread.
*** Please note: the decorated function must take an shutdown ***
"""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()
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 (thread, should_terminate)
return inner_wrapper
if _funct is None:
- return wrapper
+ return wrapper
# type: ignore
else:
return wrapper(_funct)
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()
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
return (thread, should_terminate)
return wrapper_repeat