23 lines
957 B
JavaScript
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 };
|
|
}
|