45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { type AuthenticatedEnvironment } from "~/services/apiAuth.server";
|
|
import { marqs } from "./marqs/index.server";
|
|
import { engine } from "./runEngine.server";
|
|
|
|
//This allows us to update MARQS and the RunQueue
|
|
|
|
/** Updates MARQS and the RunQueue limits */
|
|
export async function updateEnvConcurrencyLimits(
|
|
environment: AuthenticatedEnvironment,
|
|
maximumConcurrencyLimit?: number
|
|
) {
|
|
let updatedEnvironment = environment;
|
|
if (maximumConcurrencyLimit !== undefined) {
|
|
updatedEnvironment.maximumConcurrencyLimit = maximumConcurrencyLimit;
|
|
}
|
|
|
|
await Promise.allSettled([
|
|
marqs?.updateEnvConcurrencyLimits(updatedEnvironment),
|
|
engine.runQueue.updateEnvConcurrencyLimits(updatedEnvironment),
|
|
]);
|
|
}
|
|
|
|
/** Updates MARQS and the RunQueue limits for a queue */
|
|
export async function updateQueueConcurrencyLimits(
|
|
environment: AuthenticatedEnvironment,
|
|
queueName: string,
|
|
concurrency: number
|
|
) {
|
|
await Promise.allSettled([
|
|
marqs?.updateQueueConcurrencyLimits(environment, queueName, concurrency),
|
|
engine.runQueue.updateQueueConcurrencyLimits(environment, queueName, concurrency),
|
|
]);
|
|
}
|
|
|
|
/** Removes MARQS and the RunQueue limits for a queue */
|
|
export async function removeQueueConcurrencyLimits(
|
|
environment: AuthenticatedEnvironment,
|
|
queueName: string
|
|
) {
|
|
await Promise.allSettled([
|
|
marqs?.removeQueueConcurrencyLimits(environment, queueName),
|
|
engine.runQueue.removeQueueConcurrencyLimits(environment, queueName),
|
|
]);
|
|
}
|