diff --git a/agent/experiments/exp23_generated_road_clean.py b/agent/experiments/exp23_generated_road_clean.py index a2f70c8..c91811d 100644 --- a/agent/experiments/exp23_generated_road_clean.py +++ b/agent/experiments/exp23_generated_road_clean.py @@ -21,6 +21,19 @@ from datetime import datetime sys.path.insert(0, '/home/paulh/projects/donkeycar-rl-autoresearch/agent') +# Abort if another instance of this experiment is already running. +_PIDFILE = '/home/paulh/projects/donkeycar-rl-autoresearch/agent/models/exp23-generated-road-clean/current.pid' +if os.path.exists(_PIDFILE): + try: + _old = int(open(_PIDFILE).read().strip()) + if _old != os.getpid(): + import signal + os.kill(_old, 0) # raises OSError if process is gone + print(f'[exp23] Another instance already running (PID {_old}). Exiting.', flush=True) + sys.exit(1) + except (OSError, ValueError): + pass # stale pid file — safe to continue + import gymnasium as gym import numpy as np from stable_baselines3 import PPO