INNER CODE UNIT · Python
calculate_adaptive_timeout
Dicklesworthstone/claude_code_agent_farm · claude_code_agent_farm.py:264
def calculate_adaptive_timeout(self) -> int:
"""Calculate adaptive idle timeout based on median cycle time"""
if len(self.cycle_times) < 3:
# Not enough data, use base timeout
return self.base_idle_timeout
# Calculate median cycle time
sorted_times = sorted(self.cycle_times)
median_time = sorted_times[len(sorted_times) // 2]
# Set timeout to 3x median cycle time, but within reasonable bounds
adaptive_timeout = int(median_time * 3)
# Enforce minimum and maximum bounds
min_timeout = 30 # At least 30 seconds
max_timeout = 600 # At most 10 minutes
adaptive_timeout = max(min_timeout, min(adaptive_timeout, max_timeout))