feat(hk): connect delivery failures to precise diagnostic records
This commit is contained in:
1 parent
275a574203
commit
60e49c1ec9
17 files changed
+253
-20
No files matched your search
@@ -2,7 +2,7 @@ import type { EffectClaim } from "./model";
|
||||
export interface EffectRepository {
|
||||
claim(): Promise<EffectClaim | null>;
|
||||
complete(claim: EffectClaim): Promise<unknown>;
|
||||
fail(claim: EffectClaim): Promise<unknown>;
|
||||
fail(claim: EffectClaim, error: unknown): Promise<unknown>;
|
||||
}
|
||||
/** At-least-once delivery: handlers must tolerate replay after an expired claim. */
|
||||
export async function dispatchEffects(
|
||||
@@ -14,8 +14,8 @@ export async function dispatchEffects(
|
||||
if (!claim) return;
|
||||
try {
|
||||
await deliver(claim);
|
||||
} catch {
|
||||
await repo.fail(claim);
|
||||
} catch (error) {
|
||||
await repo.fail(claim, error);
|
||||
continue;
|
||||
}
|
||||
await repo.complete(claim);
|
||||
|
||||
Reference in new issue
Block a user