shuzhiren-comfyui/任务队列后端/utils/taskDistributor.js

23 lines
957 B
JavaScript

import dotenv from 'dotenv';
dotenv.config();
async function getExternalCapacityFromConfig() {
return parseInt(process.env.EXTERNAL_CAPACITY_MAX) || 10;
}
export async function distributeTasks(tasks, mdWebSocketServer) {
const internalCapacity = mdWebSocketServer.getInternalCapacity();
const externalCapacity = await getExternalCapacityFromConfig();
console.log(`[TaskDistributor] 任务分流 - 内部容量: ${internalCapacity}, 外部容量: ${externalCapacity}, 待分发任务数: ${tasks.length}`);
const internalTasks = tasks.slice(0, internalCapacity);
const externalTasks = tasks.slice(internalCapacity, internalCapacity + externalCapacity);
const remainingTasks = tasks.slice(internalCapacity + externalCapacity);
console.log(`[TaskDistributor] 分流结果 - 内部: ${internalTasks.length}, 外部: ${externalTasks.length}, 剩余: ${remainingTasks.length}`);
return { internalTasks, externalTasks, remainingTasks };
}