forked from wangziqi/gongxue-base
feat: add crm dead-letter operations and benchmark summary
This commit is contained in:
@@ -464,13 +464,14 @@ async function appendLog(
|
||||
await client.query(
|
||||
`
|
||||
insert into public.crm_webhook_log (
|
||||
tenant_id, record_id, http_code, outcome, error_message, lead_id,
|
||||
tenant_id, queue_id, record_id, http_code, outcome, error_message, lead_id,
|
||||
request_body, request_payload, response_summary, signed_at, attempt
|
||||
)
|
||||
values ($1, $2, $3, $4, $5, $6, $7, $8::jsonb, $9, now(), $10)
|
||||
values ($1, $2::uuid, $3, $4, $5, $6, $7, $8, $9::jsonb, $10, now(), $11)
|
||||
`,
|
||||
[
|
||||
task.tenantId,
|
||||
task.id,
|
||||
task.recordId,
|
||||
result.httpCode,
|
||||
result.ok ? 'sent' : 'failed',
|
||||
@@ -524,6 +525,7 @@ async function markTaskResult(
|
||||
attempts = $3,
|
||||
provider = $4,
|
||||
next_attempt_at = case when $2 = 'retrying' then now() + ($5::int * interval '1 second') else null end,
|
||||
dead_lettered_at = case when $2 = 'failed' then coalesce(dead_lettered_at, now()) else dead_lettered_at end,
|
||||
last_error = $6,
|
||||
last_http_code = $7,
|
||||
last_response_summary = $8,
|
||||
@@ -551,6 +553,7 @@ async function discardTask(client: pg.PoolClient, task: CrmQueueRow, message: st
|
||||
set status = 'discarded',
|
||||
attempts = attempts + 1,
|
||||
last_attempt_at = now(),
|
||||
dead_lettered_at = coalesce(dead_lettered_at, now()),
|
||||
last_error = $2,
|
||||
updated_at = now()
|
||||
where id = $1
|
||||
|
||||
Reference in New Issue
Block a user