rrScratch3 - Progress Commit
This commit is contained in:
@@ -896,9 +896,26 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
}
|
||||
});
|
||||
|
||||
socket.on("rr-calculate-allocations", async (jobid, cb) => {
|
||||
// RR allocations preview (RR-only)
|
||||
// Accepts either:
|
||||
// - legacy: (jobid, cb)
|
||||
// - new: ({ jobId, opCode, opPrefix, opBase, opSuffix }, cb)
|
||||
socket.on("rr-calculate-allocations", async (payload, cb) => {
|
||||
// Normalize arguments
|
||||
const isObjectPayload = payload && typeof payload === "object";
|
||||
const jobid = isObjectPayload ? payload.jobId || payload.jobid || payload.id : payload;
|
||||
|
||||
const opCodeFromClient =
|
||||
isObjectPayload &&
|
||||
(payload.opCode ||
|
||||
payload.opcode ||
|
||||
payload.op_code ||
|
||||
(payload.opPrefix || payload.opBase || payload.opSuffix
|
||||
? `${payload.opPrefix || ""}${payload.opBase || ""}${payload.opSuffix || ""}`.trim()
|
||||
: null));
|
||||
|
||||
try {
|
||||
CreateRRLogEvent(socket, "DEBUG", "rr-calculate-allocations: begin", { jobid });
|
||||
CreateRRLogEvent(socket, "DEBUG", "rr-calculate-allocations: begin", { jobid, opCodeFromClient });
|
||||
|
||||
const raw = await RRCalculateAllocations(socket, jobid);
|
||||
|
||||
@@ -925,20 +942,24 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
jobAllocations = Array.isArray(ack.jobAllocations) ? ack.jobAllocations : [];
|
||||
}
|
||||
|
||||
// Try to derive OpCode from bodyshop.rr_configuration.defaults; fall back to default
|
||||
let opCode;
|
||||
// Start with client-supplied OpCode (if any); fall back to defaults.
|
||||
let opCode = opCodeFromClient || null;
|
||||
|
||||
try {
|
||||
const { bodyshopId } = await getSessionOrSocket(redisHelpers, socket);
|
||||
const bodyshop = await getBodyshopForSocket({ bodyshopId, socket });
|
||||
|
||||
// resolveRROpCodeFromBodyshop(bodyshop, existingOverride?)
|
||||
opCode = resolveRROpCodeFromBodyshop(bodyshop, opCode);
|
||||
|
||||
CreateRRLogEvent(socket, "DEBUG", "rr-calculate-allocations: resolved OpCode", {
|
||||
opCode
|
||||
opCode,
|
||||
opCodeFromClient
|
||||
});
|
||||
} catch (e) {
|
||||
CreateRRLogEvent(socket, "WARN", "rr-calculate-allocations: bodyshop lookup failed, using default OpCode", {
|
||||
error: e.message
|
||||
CreateRRLogEvent(socket, "WARN", "rr-calculate-allocations: bodyshop lookup failed, using existing OpCode", {
|
||||
error: e.message,
|
||||
opCodeFromClient
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user