bcgov / bcgov/alcs

Increase transparency into emails queued by BullMQ

Open
#2,857 0 comments 0 reactions 0 assignees View on GitHub
Spike
Dominant language
TypeScript
Stars
10
Forks
0
Avg merge
20h 8m
Merged PRs (30d)
30

Description

As the ALC product owner, I want to know if we have a queue of pending emails that haven't been / wont be sent by our email service, so that I can intervene to prevent lack of notice to applicants/governments.

**Additional Context**
- the emails are queued by BullMQ which uses Redis as a backend. So, if Redis is not working, it's not even going to try to send the email. It's only when an attempt is made that fails that the failure is logged in the database.
- Redis also caches things like full inbox, too large of message, non-existent address, issues with CHES
- We could potentially log when the emails are sent to BullMQ, and mark them as pending or something. Then you could make a metabase report that looks for pending emails

**Acceptance Criteria**
- [ ] can we send information about pending emails to the database and thus reveal them in Metabase reports?
- [ ] what information can we obtain from Redis that will help us identify problems with outgoing emails?

Contributor guide

No contributing guide indexed for this repository

Research direction

Trace where emails are enqueued in BullMQ, how Redis stores or reports pending jobs, and where failed attempts are recorded in the database. Define the information needed for pending-email and Redis-related problems, then verify that it is persisted and available for Metabase reports.

Written by the indexing model from the issue text.

Assessment

Tech stack
redis, typescript
Domain
backend, databases, observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.