From 373d9ec700c0097a22cf665a8e33cf48998d1dc2 Mon Sep 17 00:00:00 2001 From: Elizabeth Date: Mon, 2 Jun 2025 11:14:52 -0700 Subject: Minor things --- hooks/server/job/queuer.ts | 88 ---------------------------------------------- 1 file changed, 88 deletions(-) delete mode 100644 hooks/server/job/queuer.ts (limited to 'hooks/server/job/queuer.ts') diff --git a/hooks/server/job/queuer.ts b/hooks/server/job/queuer.ts deleted file mode 100644 index d30de22..0000000 --- a/hooks/server/job/queuer.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { - getStdout, - type IEither, - type ITraceable, - LogLevel, - type Mapper, - memoize, - Metric, - type ServerTrace, - TraceUtil, -} from "@emprespresso/pengueno"; -import type { Job } from "@emprespresso/ci-model"; - -type QueuePosition = string; -export class QueueError extends Error {} -export interface IJobQueuer { - queue: Mapper>>; -} - -export class LaminarJobQueuer - implements IJobQueuer> -{ - constructor(private readonly queuePositionPrefix: string) {} - - private static GetJobTypeTrace = (jobType: string) => - `LaminarJobQueue.Queue.${jobType}`; - private static JobTypeMetrics = memoize((jobType: string) => - Metric.fromName(LaminarJobQueuer.GetJobTypeTrace(jobType)), - ); - - public queue(j: ITraceable) { - const { type: jobType } = j.get(); - const trace = LaminarJobQueuer.GetJobTypeTrace(jobType); - const metric = LaminarJobQueuer.JobTypeMetrics(trace); - - return j - .bimap(TraceUtil.withTrace(trace)) - .bimap(TraceUtil.withMetricTrace(metric)) - .map((j) => { - const { type: jobType, arguments: args } = j.get(); - const laminarCommand = [ - "laminarc", - "queue", - jobType, - ...Object.entries(args).map(([key, val]) => `"${key}"="${val}"`), - ]; - return laminarCommand; - }) - .peek((c) => - c.trace.trace( - `im so excited to see how this queue job will end!! (>ᴗ<): ${c - .get() - .toString()}`, - ), - ) - .map(getStdout) - .peek( - TraceUtil.promiseify((q) => - q.trace.trace( - q - .get() - .fold((err, _val) => (err ? metric.failure : metric.success)), - ), - ), - ) - .map( - TraceUtil.promiseify((q) => - q - .get() - .mapRight((stdout) => { - q.trace.addTrace(LogLevel.DEBUG).trace(`stdout ${stdout}`); - const [jobName, jobId] = stdout.split(":"); - const jobUrl = `${this.queuePositionPrefix}/jobs/${jobName}/${jobId}`; - - q.trace.trace( - `all queued up and weady to go~ (˘ω˘) => ${jobUrl}`, - ); - return jobUrl; - }) - .mapLeft((err) => { - q.trace.addTrace(LogLevel.ERROR).trace(err.toString()); - return err; - }), - ), - ) - .get(); - } -} -- cgit v1.2.3-70-g09d2