From 88163be0dd29fccd3c0d4cd1427a4e3c094d1afd Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Sun, 22 Mar 2026 11:42:46 -0400 Subject: [PATCH] refactor: add TaskDispatcher for automatic task assignment to idle turtles --- server/server.js | 9 +++++++++ 1 file changed, 9 insertions(+) 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);