mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-02 13:43:22 +00:00
MINOR - Only timeout on main threads (#18341)
This commit is contained in:
parent
7d42926960
commit
9f60ba68f5
@ -18,6 +18,7 @@ import inspect
|
||||
import os
|
||||
import platform
|
||||
import signal
|
||||
import threading
|
||||
from typing import Callable
|
||||
|
||||
from metadata.utils.constants import TEN_MIN
|
||||
@ -47,7 +48,11 @@ def timeout(seconds: int = TEN_MIN) -> Callable:
|
||||
def decorator(fn):
|
||||
@functools.wraps(fn)
|
||||
def inner(*args, **kwargs):
|
||||
if platform.system() != "Windows": # SIGALRM not supported on Windows
|
||||
# SIGALRM is not supported on Windows or sub-threads
|
||||
if (
|
||||
platform.system() != "Windows"
|
||||
and threading.current_thread() == threading.main_thread()
|
||||
):
|
||||
signal.signal(signal.SIGALRM, _handle_timeout)
|
||||
signal.alarm(seconds)
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user