diff --git a/server/server.js b/server/server.js index 0e7f835..503da27 100644 --- a/server/server.js +++ b/server/server.js @@ -4,6 +4,7 @@ import cors from 'cors'; import { createServer } from 'http'; import * as db from './database.js'; import { Turtle } from './Turtle.js'; +import { TaskDispatcher } from './TaskDispatcher.js'; const app = express(); const PORT = 3001; @@ -78,6 +79,14 @@ for (const block of savedBlocks) { // Timeout for considering turtles offline (30 seconds) const TURTLE_TIMEOUT = 30000; +// Task dispatcher — automatically assigns pending tasks to idle turtles +const taskDispatcher = new TaskDispatcher({ + turtles, + db, + broadcastToClients: (data) => broadcastToClients(data), + pollInterval: parseInt(process.env.DISPATCH_INTERVAL || '5000', 10), +}); + // Broadcast to all web clients function broadcastToClients(data) { const message = JSON.stringify(data);