Some naming cleanup
This commit is contained in:
@@ -261,9 +261,9 @@ export const app = new Elysia()
|
|||||||
}, {
|
}, {
|
||||||
params: t.Object({ id: t.String() })
|
params: t.Object({ id: t.String() })
|
||||||
})
|
})
|
||||||
.post("/:id/replay", async ({ params: { id } }) => {
|
.post("/:id/retry", async ({ params: { id } }) => {
|
||||||
const replayed = await s.Events.replay(id);
|
const retried = await s.Events.retry(id);
|
||||||
if (!replayed) throw new NotFoundError("Event not found or not in a failed state");
|
if (!retried) throw new NotFoundError("Event not found or not in a failed state");
|
||||||
}, {
|
}, {
|
||||||
params: t.Object({ id: t.String() })
|
params: t.Object({ id: t.String() })
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -206,7 +206,7 @@ export class EventQueue<G extends string, T extends Record<string, EventTypeOpti
|
|||||||
{ rateLimits: event.rate_limits, delay: err.retryDelayMs, source: err.source, payload: err.payload },
|
{ rateLimits: event.rate_limits, delay: err.retryDelayMs, source: err.source, payload: err.payload },
|
||||||
"encountered a rate limit error"
|
"encountered a rate limit error"
|
||||||
);
|
);
|
||||||
await this.retry(event.id, err.retryDelayMs, "ratelimit");
|
await this.scheduleRetry(event.id, err.retryDelayMs, "ratelimit");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,7 +222,7 @@ export class EventQueue<G extends string, T extends Record<string, EventTypeOpti
|
|||||||
EventQueue.JITTER_FACTOR
|
EventQueue.JITTER_FACTOR
|
||||||
);
|
);
|
||||||
log.warn({ err, errors: event.errors, retryDelayMs: retryDelayMs }, "encountered an error during event processing, retrying")
|
log.warn({ err, errors: event.errors, retryDelayMs: retryDelayMs }, "encountered an error during event processing, retrying")
|
||||||
await this.retry(event.id, retryDelayMs, "error");
|
await this.scheduleRetry(event.id, retryDelayMs, "error");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,7 +231,7 @@ export class EventQueue<G extends string, T extends Record<string, EventTypeOpti
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async retry(id: string, delayMs: number, type: RetryType) {
|
private async scheduleRetry(id: string, delayMs: number, type: RetryType) {
|
||||||
await db.updateTable("events")
|
await db.updateTable("events")
|
||||||
.set((eb) => ({
|
.set((eb) => ({
|
||||||
errors: type === "error" ? eb("errors", "+", 1) : eb.ref("errors"),
|
errors: type === "error" ? eb("errors", "+", 1) : eb.ref("errors"),
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ export class EventsService {
|
|||||||
.execute();
|
.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
async replay(id: string): Promise<boolean> {
|
async retry(id: string): Promise<boolean> {
|
||||||
const result = await db.updateTable("events")
|
const result = await db.updateTable("events")
|
||||||
.set({
|
.set({
|
||||||
started_at: null,
|
started_at: null,
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
let offset = $state(0);
|
let offset = $state(0);
|
||||||
let group = $state("");
|
let group = $state("");
|
||||||
let status = $state<EventStatus | "">("");
|
let status = $state<EventStatus | "">("");
|
||||||
let replayingIds = $state<string[]>([]);
|
let retryingIds = $state<string[]>([]);
|
||||||
|
|
||||||
function errorMessage(err: unknown): string {
|
function errorMessage(err: unknown): string {
|
||||||
const value = (err as { value?: { error?: string } })?.value;
|
const value = (err as { value?: { error?: string } })?.value;
|
||||||
@@ -37,7 +37,6 @@
|
|||||||
|
|
||||||
function formatLabel(value: string): string {
|
function formatLabel(value: string): string {
|
||||||
return value
|
return value
|
||||||
.replace(/^apparel_/, "")
|
|
||||||
.replace(/_/g, " ")
|
.replace(/_/g, " ")
|
||||||
.replace(/\b\w/g, (c) => c.toUpperCase());
|
.replace(/\b\w/g, (c) => c.toUpperCase());
|
||||||
}
|
}
|
||||||
@@ -101,16 +100,16 @@
|
|||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function replay(id: string) {
|
async function retry(id: string) {
|
||||||
replayingIds = [...replayingIds, id];
|
retryingIds = [...retryingIds, id];
|
||||||
try {
|
try {
|
||||||
const res = await api.events({ id }).replay.post();
|
const res = await api.events({ id }).retry.post();
|
||||||
if (res.error) throw res.error;
|
if (res.error) throw res.error;
|
||||||
await refresh();
|
await refresh();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
loadError = errorMessage(err);
|
loadError = errorMessage(err);
|
||||||
} finally {
|
} finally {
|
||||||
replayingIds = replayingIds.filter((x) => x !== id);
|
retryingIds = retryingIds.filter((x) => x !== id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,12 +231,12 @@
|
|||||||
{#if event.status === "failed"}
|
{#if event.status === "failed"}
|
||||||
<button
|
<button
|
||||||
class="btn btn-xs"
|
class="btn btn-xs"
|
||||||
disabled={replayingIds.includes(event.id)}
|
disabled={retryingIds.includes(event.id)}
|
||||||
onclick={() => replay(event.id)}
|
onclick={() => retry(event.id)}
|
||||||
>
|
>
|
||||||
{replayingIds.includes(event.id)
|
{retryingIds.includes(event.id)
|
||||||
? "Replaying..."
|
? "Retrying..."
|
||||||
: "Replay"}
|
: "Retry"}
|
||||||
</button>
|
</button>
|
||||||
{/if}
|
{/if}
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
Reference in New Issue
Block a user