bugfixes; research subproc; higher sandbox limits
This commit is contained in:
@@ -22,6 +22,7 @@ import { AgentHarness, type HarnessSessionConfig } from './harness/agent-harness
|
||||
import { OHLCService } from './services/ohlc-service.js';
|
||||
import { SymbolIndexService } from './services/symbol-index-service.js';
|
||||
import { SymbolRoutes } from './routes/symbol-routes.js';
|
||||
import { AdminRoutes } from './routes/admin-routes.js';
|
||||
|
||||
// Catch unhandled promise rejections for better debugging
|
||||
process.on('unhandledRejection', (reason: any, promise) => {
|
||||
@@ -309,6 +310,7 @@ const k8sClient = new KubernetesClient({
|
||||
|
||||
const containerManager = new ContainerManager({
|
||||
k8sClient,
|
||||
userService,
|
||||
sandboxImage: config.kubernetes.sandboxImage,
|
||||
sidecarImage: config.kubernetes.sidecarImage,
|
||||
storageClass: config.kubernetes.storageClass,
|
||||
@@ -439,6 +441,9 @@ const getSymbolService = () => symbolIndexService;
|
||||
const symbolRoutes = new SymbolRoutes({ getSymbolIndexService: getSymbolService });
|
||||
symbolRoutes.register(app);
|
||||
|
||||
// Register admin routes
|
||||
new AdminRoutes(containerManager, userService).register(app);
|
||||
|
||||
app.log.debug('All routes registered');
|
||||
|
||||
// Health check
|
||||
@@ -715,7 +720,6 @@ try {
|
||||
icebergClient,
|
||||
logger: app.log,
|
||||
});
|
||||
await indexService.initialize();
|
||||
|
||||
// Assign to module-level variable so onMetadataUpdate callback can use it
|
||||
symbolIndexService = indexService;
|
||||
@@ -723,7 +727,17 @@ try {
|
||||
// Update websocket handler's config so it can use the service
|
||||
(websocketHandler as any).config.symbolIndexService = indexService;
|
||||
|
||||
app.log.info({ stats: symbolIndexService.getStats() }, 'Symbol index service initialized');
|
||||
// Retry until we get at least some symbol metadata
|
||||
while (true) {
|
||||
await indexService.initialize();
|
||||
const stats = indexService.getStats();
|
||||
if (stats.symbolCount > 0) {
|
||||
app.log.info({ stats }, 'Symbol index service initialized');
|
||||
break;
|
||||
}
|
||||
app.log.warn('Symbol index has no metadata yet, retrying in 5 seconds...');
|
||||
await new Promise(resolve => setTimeout(resolve, 5000));
|
||||
}
|
||||
} catch (error) {
|
||||
app.log.warn({ error }, 'Failed to initialize symbol index service - symbol search will not be available');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user