- Increase worker replicas from 5 to 25 - Task pool now starts PAUSED on deploy, admin must click Start Pool - Prevents workers from grabbing tasks before system is ready 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
/**
|
|
* Task Pool State
|
|
*
|
|
* Shared state for task pool pause/resume functionality.
|
|
* This is kept separate to avoid circular dependencies between
|
|
* task-service.ts and routes/tasks.ts.
|
|
*
|
|
* State is in-memory and resets on server restart.
|
|
* By default, the pool is PAUSED (closed) - admin must explicitly start it.
|
|
* This prevents workers from immediately grabbing tasks on deploy before
|
|
* the system is ready.
|
|
*/
|
|
|
|
let taskPoolPaused = true;
|
|
|
|
export function isTaskPoolPaused(): boolean {
|
|
return taskPoolPaused;
|
|
}
|
|
|
|
export function pauseTaskPool(): void {
|
|
taskPoolPaused = true;
|
|
console.log('[TaskPool] Task pool PAUSED - workers will not pick up new tasks');
|
|
}
|
|
|
|
export function resumeTaskPool(): void {
|
|
taskPoolPaused = false;
|
|
console.log('[TaskPool] Task pool RESUMED - workers can pick up tasks');
|
|
}
|
|
|
|
export function getTaskPoolStatus(): { paused: boolean; message: string } {
|
|
return {
|
|
paused: taskPoolPaused,
|
|
message: taskPoolPaused
|
|
? 'Task pool is paused - workers will not pick up new tasks'
|
|
: 'Task pool is open - workers are picking up tasks',
|
|
};
|
|
}
|