Преглед на файлове

Fix:signal.SIGUSR1 and signal.SIGUSR2 can't use in window. so don't bind signal.SIGUSR1 and signal.SIGUSR2 in the windows env (#5941)

### What problem does this PR solve?
Fix:signal.SIGUSR1 and signal.SIGUSR2 can't use in window. so don't bind
signal.SIGUSR1 and signal.SIGUSR2 in the windows env

### Type of change

- [✓ ] Bug Fix (non-breaking change which fixes an issue)
- [ ] New Feature (non-breaking change which adds functionality)
- [ ] Documentation Update
- [ ] Refactoring
- [ ] Performance Improvement
- [ ] Other (please describe):

Co-authored-by: tangyu <1@1.com>
tags/v0.17.2
donblack01 преди 7 месеца
родител
ревизия
1c663b32b9
No account linked to committer's email address
променени са 1 файла, в които са добавени 10 реда и са изтрити 4 реда
  1. 10
    4
      rag/svr/task_executor.py

+ 10
- 4
rag/svr/task_executor.py Целия файл

from multiprocessing.context import TimeoutError from multiprocessing.context import TimeoutError
from timeit import default_timer as timer from timeit import default_timer as timer
import tracemalloc import tracemalloc
import resource
import signal import signal
import trio import trio
import exceptiongroup import exceptiongroup
snapshot = tracemalloc.take_snapshot() snapshot = tracemalloc.take_snapshot()
snapshot.dump(snapshot_file) snapshot.dump(snapshot_file)
current, peak = tracemalloc.get_traced_memory() current, peak = tracemalloc.get_traced_memory()
max_rss = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
if sys.platform == "win32":
import psutil
process = psutil.Process()
max_rss = process.memory_info().rss / 1024
else:
import resource
max_rss = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
logging.info(f"taken snapshot {snapshot_file}. max RSS={max_rss / 1000:.2f} MB, current memory usage: {current / 10**6:.2f} MB, Peak memory usage: {peak / 10**6:.2f} MB") logging.info(f"taken snapshot {snapshot_file}. max RSS={max_rss / 1000:.2f} MB, current memory usage: {current / 10**6:.2f} MB, Peak memory usage: {peak / 10**6:.2f} MB")


# SIGUSR2 handler: stop tracemalloc # SIGUSR2 handler: stop tracemalloc
logging.info(f'TaskExecutor: RAGFlow version: {get_ragflow_version()}') logging.info(f'TaskExecutor: RAGFlow version: {get_ragflow_version()}')
settings.init_settings() settings.init_settings()
print_rag_settings() print_rag_settings()
signal.signal(signal.SIGUSR1, start_tracemalloc_and_snapshot)
signal.signal(signal.SIGUSR2, stop_tracemalloc)
if sys.platform != "win32":
signal.signal(signal.SIGUSR1, start_tracemalloc_and_snapshot)
signal.signal(signal.SIGUSR2, stop_tracemalloc)
TRACE_MALLOC_ENABLED = int(os.environ.get('TRACE_MALLOC_ENABLED', "0")) TRACE_MALLOC_ENABLED = int(os.environ.get('TRACE_MALLOC_ENABLED', "0"))
if TRACE_MALLOC_ENABLED: if TRACE_MALLOC_ENABLED:
start_tracemalloc_and_snapshot(None, None) start_tracemalloc_and_snapshot(None, None)

Loading…
Отказ
Запис