code: def timeout(seconds: int):
      signal.signal(
          signal.SIGALRM,
          lambda signum, frame: raise_timeout_error(seconds),
      )
      signal.alarm(seconds)
  
      try:
          yield
      finally:
          signal.signal(signal.SIGALRM, signal.SIG_IGN)
  
file_path: fiftyone/fiftyone/operators/decorators.py
imports: import asyncio
  from cachetools.keys import hashkey
  from contextlib import contextmanager
  from functools import wraps
  import signal
  import os
  import fiftyone
  from fiftyone.plugins.core import _iter_plugin_metadata_files
label_desc: Use image node_id 2 for calling a global function with example usage: timeout(seconds) without return types