is a dead letter queue overkill for a side project doing 200 jobs a day Dead Letter
Side project. About 200 jobs a day, mostly outbound webhooks to customers' own endpoints. Every architecture diagram I read has a dead letter queue in it and I cannot tell whether that is for me or for people doing 200,000 a day.
Right now a failure retries three times and then it is gone - there is a log line somewhere with a seven day retention. That does feel bad.
Is a DLQ what fixes that or am I copying a diagram?
@nightbus_nina · 4mo ago · 3 replies
Mostly copying a diagram, but the discomfort is correct and worth acting on.
A dead letter queue gives you two things: somewhere failed messages land instead of vanishing, and a mechanism to replay them. At 200 a day you need the first and you can do the second by hand.
A
failed_jobstable with payload, error, attempt count andreplayed_atgets you there in about thirty lines, and you can query it, join it to the customer, and put it on a page - none of which a platform DLQ lets you do comfortably.The thing people actually get wrong: a DLQ is not an alert. Messages arrive silently and sit there for months. Whatever you build, the part that matters is that something tells you.
Reply
Report
@r2_bucketeer · 4mo ago
"A DLQ is not an alert" should be on a poster. I have inherited two systems with tens of thousands of messages in a dead letter queue that nobody had ever opened, in one case including the entire first week of a paying customer's data.
Reply
Report
@fg_stall · 4mo ago
The replay button always arrives later and always as an emergency. Design the table now so that replay is one insert back into the main queue, not a script you write at midnight.
Reply
Report