Function: createChatOutbox()
function createChatOutbox(options: {
publisher: ChatPublisher;
}): {
claimBatch: (input: {
leaseMs?: number;
limit?: number;
}) => Promise<ClaimedChatEvent[]>;
complete: (input: {
eventId: string;
leaseToken: string;
}) => Promise<boolean>;
retry: (input: {
delayMs?: number;
error: "ENRICHMENT_FAILED" | "PUBLICATION_FAILED" | "PUBLICATION_TIMEOUT";
eventId: string;
leaseToken: string;
}) => Promise<boolean>;
drain: Promise<{
claimed: number;
leaseLost: number;
maxEventAgeMs: number;
published: number;
retried: number;
}>;
};Defined in: server/chat/outbox.ts:69
Parameters
| Parameter | Type |
|---|---|
options | { publisher: ChatPublisher; } |
options.publisher | ChatPublisher |
Returns
{
claimBatch: (input: {
leaseMs?: number;
limit?: number;
}) => Promise<ClaimedChatEvent[]>;
complete: (input: {
eventId: string;
leaseToken: string;
}) => Promise<boolean>;
retry: (input: {
delayMs?: number;
error: "ENRICHMENT_FAILED" | "PUBLICATION_FAILED" | "PUBLICATION_TIMEOUT";
eventId: string;
leaseToken: string;
}) => Promise<boolean>;
drain: Promise<{
claimed: number;
leaseLost: number;
maxEventAgeMs: number;
published: number;
retried: number;
}>;
}claimBatch
claimBatch: (input: {
leaseMs?: number;
limit?: number;
}) => Promise<ClaimedChatEvent[]>;Parameters
| Parameter | Type |
|---|---|
input | { leaseMs?: number; limit?: number; } |
input.leaseMs? | number |
input.limit? | number |
Returns
Promise<ClaimedChatEvent[]>
complete
complete: (input: {
eventId: string;
leaseToken: string;
}) => Promise<boolean>;Parameters
| Parameter | Type |
|---|---|
input | { eventId: string; leaseToken: string; } |
input.eventId | string |
input.leaseToken | string |
Returns
Promise<boolean>
retry
retry: (input: {
delayMs?: number;
error: "ENRICHMENT_FAILED" | "PUBLICATION_FAILED" | "PUBLICATION_TIMEOUT";
eventId: string;
leaseToken: string;
}) => Promise<boolean>;Parameters
| Parameter | Type |
|---|---|
input | { delayMs?: number; error: "ENRICHMENT_FAILED" | "PUBLICATION_FAILED" | "PUBLICATION_TIMEOUT"; eventId: string; leaseToken: string; } |
input.delayMs? | number |
input.error | "ENRICHMENT_FAILED" | "PUBLICATION_FAILED" | "PUBLICATION_TIMEOUT" |
input.eventId | string |
input.leaseToken | string |
Returns
Promise<boolean>
drain()
drain(input?: {
leaseMs?: number;
limit?: number;
publishTimeoutMs?: number;
}): Promise<{
claimed: number;
leaseLost: number;
maxEventAgeMs: number;
published: number;
retried: number;
}>;Parameters
| Parameter | Type |
|---|---|
input | { leaseMs?: number; limit?: number; publishTimeoutMs?: number; } |
input.leaseMs? | number |
input.limit? | number |
input.publishTimeoutMs? | number |
Returns
Promise<{
claimed: number;
leaseLost: number;
maxEventAgeMs: number;
published: number;
retried: number;
}>