summaryrefslogtreecommitdiff
path: root/hooks/server/job
diff options
context:
space:
mode:
authorElizabeth <lizhunt@amazon.com>2025-05-28 15:05:38 -0700
committerElizabeth <lizhunt@amazon.com>2025-05-28 15:05:38 -0700
commit3005cc83e605fb89b079cf0e6fd0ec95cd27b30e (patch)
tree992c5933f2ec4a75e32469ddd772c61dbcb2e2fd /hooks/server/job
parente3cf820b07e282221502cf2f116c9780b7375e0e (diff)
downloadci-3005cc83e605fb89b079cf0e6fd0ec95cd27b30e.tar.gz
ci-3005cc83e605fb89b079cf0e6fd0ec95cd27b30e.zip
Run prettier, add zed settings
Diffstat (limited to 'hooks/server/job')
-rw-r--r--hooks/server/job/activity.ts72
-rw-r--r--hooks/server/job/queuer.ts48
2 files changed, 69 insertions, 51 deletions
diff --git a/hooks/server/job/activity.ts b/hooks/server/job/activity.ts
index 14ea459..173cedf 100644
--- a/hooks/server/job/activity.ts
+++ b/hooks/server/job/activity.ts
@@ -22,7 +22,8 @@ const wellFormedJobMetric = Metric.fromName("Job.WellFormed");
const jobJsonTransformer = (
j: ITraceable<unknown, ServerTrace>,
): IEither<PenguenoError, Job> =>
- j.bimap(TraceUtil.withMetricTrace(wellFormedJobMetric))
+ j
+ .bimap(TraceUtil.withMetricTrace(wellFormedJobMetric))
.map((tJson) => {
if (!isJob(tJson) || !validateExecutionEntries(tJson)) {
const err = "seems like a pwetty mawfomed job \\(-.-)/";
@@ -33,10 +34,12 @@ const jobJsonTransformer = (
})
.peek((tJob) =>
tJob.trace.trace(
- tJob.get().fold((err) =>
- err ? wellFormedJobMetric.failure : wellFormedJobMetric.success
- ),
- )
+ tJob
+ .get()
+ .fold((err) =>
+ err ? wellFormedJobMetric.failure : wellFormedJobMetric.success,
+ ),
+ ),
)
.get();
@@ -51,18 +54,19 @@ export class JobHookActivityImpl implements IJobHookActivity {
) {}
private trace(r: ITraceable<PenguenoRequest, ServerTrace>) {
- return r.bimap(TraceUtil.withClassTrace(this))
- .bimap(
- TraceUtil.withMetricTrace(jobHookRequestMetric),
- );
+ return r
+ .bimap(TraceUtil.withClassTrace(this))
+ .bimap(TraceUtil.withMetricTrace(jobHookRequestMetric));
}
public processHook(r: ITraceable<PenguenoRequest, ServerTrace>) {
- return this.trace(r).map(jsonModel(jobJsonTransformer))
+ return this.trace(r)
+ .map(jsonModel(jobJsonTransformer))
.map(async (tEitherJobJson) => {
const eitherJob = await tEitherJobJson.get();
return eitherJob.flatMapAsync(async (job) => {
- const eitherQueued = await tEitherJobJson.move(job)
+ const eitherQueued = await tEitherJobJson
+ .move(job)
.map(this.queuer.queue)
.get();
return eitherQueued.mapLeft((e) => new PenguenoError(e.message, 500));
@@ -70,29 +74,35 @@ export class JobHookActivityImpl implements IJobHookActivity {
})
.peek(
TraceUtil.promiseify((tJob) =>
- tJob.get().fold(
- (err: PenguenoError | undefined, _val: string | undefined) => {
- if (!err) {
- tJob.trace.trace(jobHookRequestMetric.success);
- tJob.trace.trace(`all queued up and weady to go :D !! ${_val}`);
- return;
- }
- tJob.trace.trace(
- err.source === ErrorSource.SYSTEM
- ? jobHookRequestMetric.failure
- : jobHookRequestMetric.warn,
- );
- tJob.trace.addTrace(err.source).trace(`${err}`);
- },
- )
+ tJob
+ .get()
+ .fold(
+ (err: PenguenoError | undefined, _val: string | undefined) => {
+ if (!err) {
+ tJob.trace.trace(jobHookRequestMetric.success);
+ tJob.trace.trace(
+ `all queued up and weady to go :D !! ${_val}`,
+ );
+ return;
+ }
+ tJob.trace.trace(
+ err.source === ErrorSource.SYSTEM
+ ? jobHookRequestMetric.failure
+ : jobHookRequestMetric.warn,
+ );
+ tJob.trace.addTrace(err.source).trace(`${err}`);
+ },
+ ),
),
)
.map(
- TraceUtil.promiseify((tEitherQueuedJob) =>
- new JsonResponse(r, tEitherQueuedJob.get(), {
- status: tEitherQueuedJob.get()
- .fold(({ status }, _val) => _val ? 200 : status),
- })
+ TraceUtil.promiseify(
+ (tEitherQueuedJob) =>
+ new JsonResponse(r, tEitherQueuedJob.get(), {
+ status: tEitherQueuedJob
+ .get()
+ .fold(({ status }, _val) => (_val ? 200 : status)),
+ }),
),
)
.get();
diff --git a/hooks/server/job/queuer.ts b/hooks/server/job/queuer.ts
index 6094183..069cca4 100644
--- a/hooks/server/job/queuer.ts
+++ b/hooks/server/job/queuer.ts
@@ -18,15 +18,14 @@ export interface IJobQueuer<TJob> {
}
export class LaminarJobQueuer
- implements IJobQueuer<ITraceable<Job, ServerTrace>> {
- constructor(
- private readonly queuePositionPrefix: string,
- ) {}
+ implements IJobQueuer<ITraceable<Job, ServerTrace>>
+{
+ constructor(private readonly queuePositionPrefix: string) {}
private static GetJobTypeTrace = (jobType: string) =>
`LaminarJobQueue.Queue.${jobType}`;
private static JobTypeMetrics = memoize((jobType: string) =>
- Metric.fromName(LaminarJobQueuer.GetJobTypeTrace(jobType))
+ Metric.fromName(LaminarJobQueuer.GetJobTypeTrace(jobType)),
);
public queue(j: ITraceable<Job, ServerTrace>) {
@@ -50,29 +49,38 @@ export class LaminarJobQueuer
.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),
- )
+ 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}`;
+ .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;
- })
- ))
+ 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();
}
}