Unused elements in WorkerProcessManager: settings, linkToHubWorker, isQueuedForTermination #162

Closed
opened 2026-01-24 10:12:32 +00:00 by jack · 0 comments
Owner

Beschreibung

In packages/backend/src/services/worker-process-manager.ts werden folgende Elemente nicht verwendet:

1. settings in detectWorkerBinaryPath() (Zeile 68)

private detectWorkerBinaryPath(): void {
  const settings = loadSettings(); // ← Geladen aber nie verwendet!
  
  // Priority order for worker binary detection:
  // ...
}

Die Variable settings wird geladen aber im Rest der Methode nie verwendet. Vermutlich ein Überbleibsel nach Refactoring.

2. linkToHubWorker() (Zeile 302-308)

linkToHubWorker(spawnedId: string, hubWorkerId: string): void {
  const worker = this.spawnedWorkers.get(spawnedId);
  if (worker) {
    worker.connectedWorkerId = hubWorkerId;
    logger.debug(`Linked spawned worker ${spawnedId} to hub worker ${hubWorkerId}`);
  }
}

3. isQueuedForTermination() (Zeile 344-346)

isQueuedForTermination(spawnedId: string): boolean {
  return this.pendingTerminations.has(spawnedId);
}

Analyse

  • settings: Totes Code-Fragment, kann entfernt werden
  • linkToHubWorker: Sollte aufgerufen werden wenn ein gespawnter Worker sich mit dem Hub verbindet
  • isQueuedForTermination: Nützlich für Status-Abfragen, aber wird nicht verwendet

Das Termination-Queuing-System verwendet queueTermination() und executePendingTermination(), aber die Linking-Logik linkToHubWorker fehlt - deshalb funktioniert findByHubWorkerId() vermutlich nicht korrekt.

Zu prüfen

  1. Fehlt der Aufruf von linkToHubWorker?

    • Sollte in WorkerHub aufgerufen werden wenn Worker sich verbindet
    • Sonst funktioniert findByHubWorkerId() nicht (und damit auch executePendingTermination)
  2. Zusammenhang mit Issue #120 (Worker-Löschlogik)?

    • Die fehlende Verlinkung könnte erklären warum Busy-Worker direkt gelöscht werden
  3. settings kann entfernt werden

    • Klares Code-Fragment ohne Verwendung

Betroffene Datei

  • packages/backend/src/services/worker-process-manager.ts

⚠️ Hinweis

Nicht einfach löschen! Zuerst prüfen:

  • linkToHubWorker ist wahrscheinlich eine fehlende Integration, nicht toter Code
  • Die Terminierung-Queue funktioniert nur wenn Workers korrekt verlinkt sind
  • Nur settings ist definitiv toter Code
## Beschreibung In `packages/backend/src/services/worker-process-manager.ts` werden folgende Elemente nicht verwendet: ### 1. `settings` in `detectWorkerBinaryPath()` (Zeile 68) ```typescript private detectWorkerBinaryPath(): void { const settings = loadSettings(); // ← Geladen aber nie verwendet! // Priority order for worker binary detection: // ... } ``` Die Variable `settings` wird geladen aber im Rest der Methode nie verwendet. Vermutlich ein Überbleibsel nach Refactoring. ### 2. `linkToHubWorker()` (Zeile 302-308) ```typescript linkToHubWorker(spawnedId: string, hubWorkerId: string): void { const worker = this.spawnedWorkers.get(spawnedId); if (worker) { worker.connectedWorkerId = hubWorkerId; logger.debug(`Linked spawned worker ${spawnedId} to hub worker ${hubWorkerId}`); } } ``` ### 3. `isQueuedForTermination()` (Zeile 344-346) ```typescript isQueuedForTermination(spawnedId: string): boolean { return this.pendingTerminations.has(spawnedId); } ``` ## Analyse - `settings`: Totes Code-Fragment, kann entfernt werden - `linkToHubWorker`: Sollte aufgerufen werden wenn ein gespawnter Worker sich mit dem Hub verbindet - `isQueuedForTermination`: Nützlich für Status-Abfragen, aber wird nicht verwendet Das Termination-Queuing-System verwendet `queueTermination()` und `executePendingTermination()`, aber die Linking-Logik `linkToHubWorker` fehlt - deshalb funktioniert `findByHubWorkerId()` vermutlich nicht korrekt. ## Zu prüfen 1. **Fehlt der Aufruf von `linkToHubWorker`?** - Sollte in `WorkerHub` aufgerufen werden wenn Worker sich verbindet - Sonst funktioniert `findByHubWorkerId()` nicht (und damit auch `executePendingTermination`) 2. **Zusammenhang mit Issue #120 (Worker-Löschlogik)?** - Die fehlende Verlinkung könnte erklären warum Busy-Worker direkt gelöscht werden 3. **`settings` kann entfernt werden** - Klares Code-Fragment ohne Verwendung ## Betroffene Datei - `packages/backend/src/services/worker-process-manager.ts` ## ⚠️ Hinweis Nicht einfach löschen! Zuerst prüfen: - `linkToHubWorker` ist wahrscheinlich eine **fehlende Integration**, nicht toter Code - Die Terminierung-Queue funktioniert nur wenn Workers korrekt verlinkt sind - Nur `settings` ist definitiv toter Code
jack closed this issue 2026-01-24 18:00:05 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
customable/claude-mem#162
No description provided.