/** * Scheduler Config Demo * Interactive configuration panel */ import React, { useState } from 'react' export default function SchedulerConfigDemo() { const [config, setConfig] = useState({ maxConcurrentSessions: 2, sessionIdleTimeoutMs: 60000, resumeKeySessionBindingTimeoutMs: 300000, }) const formatMs = (ms: number) => { if (ms >= 60000) return `${ms / 60000}m` if (ms >= 1000) return `${ms / 1000}s` return `${ms}ms` } return (

Scheduler Configuration

{/* Max Concurrent Sessions */}
setConfig({ ...config, maxConcurrentSessions: parseInt(e.target.value) })} className="flex-1" /> {config.maxConcurrentSessions}

Maximum number of sessions to run simultaneously

{/* Session Idle Timeout */}
setConfig({ ...config, sessionIdleTimeoutMs: parseInt(e.target.value) })} className="flex-1" /> {formatMs(config.sessionIdleTimeoutMs)}

Time before idle session is terminated

{/* Resume Key Binding Timeout */}
setConfig({ ...config, resumeKeySessionBindingTimeoutMs: parseInt(e.target.value) })} className="flex-1" /> {formatMs(config.resumeKeySessionBindingTimeoutMs)}

Time to preserve resume key session binding

{/* Current Config Display */}

Current Configuration

Max Concurrent
{config.maxConcurrentSessions} sessions
Idle Timeout
{formatMs(config.sessionIdleTimeoutMs)}
Binding Timeout
{formatMs(config.resumeKeySessionBindingTimeoutMs)}
) }