socket reruns

This commit is contained in:
Boki 2025-07-04 17:04:47 -04:00
parent a876f3c35b
commit 11c6c19628
29 changed files with 3921 additions and 233 deletions

View file

@ -86,17 +86,73 @@ export function createBacktestRoutes(container: IServiceContainer): Hono {
}, 500);
}
});
// Pause running backtest
app.post('/pause', async (c) => {
try {
await backtestEngine.pauseBacktest();
return c.json({
message: 'Backtest paused',
timestamp: new Date().toISOString()
});
} catch (error) {
container.logger.error('Error pausing backtest:', error);
return c.json({
error: error instanceof Error ? error.message : 'Failed to pause backtest'
}, 500);
}
});
// Resume paused backtest
app.post('/resume', async (c) => {
try {
await backtestEngine.resumeBacktest();
return c.json({
message: 'Backtest resumed',
timestamp: new Date().toISOString()
});
} catch (error) {
container.logger.error('Error resuming backtest:', error);
return c.json({
error: error instanceof Error ? error.message : 'Failed to resume backtest'
}, 500);
}
});
// Set backtest speed
app.post('/speed', async (c) => {
try {
const body = await c.req.json();
const speed = body.speed ?? 1;
backtestEngine.setSpeedMultiplier(speed);
return c.json({
message: 'Backtest speed updated',
speed: speed === null ? 'unlimited' : speed,
timestamp: new Date().toISOString()
});
} catch (error) {
container.logger.error('Error setting backtest speed:', error);
return c.json({
error: error instanceof Error ? error.message : 'Failed to set speed'
}, 500);
}
});
// Get backtest progress
app.get('/progress', async (c) => {
try {
// In real implementation, would track progress
const status = backtestEngine.getStatus();
return c.json({
status: 'running',
progress: 0.5,
processed: 10000,
total: 20000,
currentTime: new Date().toISOString()
status: status.isPaused ? 'paused' : (status.isRunning ? 'running' : 'idle'),
progress: status.progress,
currentTime: new Date(status.currentTime).toISOString(),
isRunning: status.isRunning,
isPaused: status.isPaused
});
} catch (error) {
container.logger.error('Error getting backtest progress:', error);