Loading
Add EmailQueueService with Redis dispatch for async email jobs
Description
EmailQueueService that persists email jobs to the email_jobs table and notifies the background worker via Redis.
- Added
EmailQueueServicewithenqueueMailerAction()to:- create a pending row in
email_jobs - JSON-encode the payload
- push the job ID to Redis queue
cdli:queue:email - register the queue in
cdli:queues
- create a pending row in
- Added App\Service\QueueKeys with shared Redis queue constants/helpers used by EmailQueueService and TaskComponent:
QUEUE_REGISTRY_KEYQUEUE_KEY_PREFIXqueueKey()
- Added unit tests for:
- DB write path
- Redis push path
- Redis failure handling (job remains
pendingin DB)
Edited by sonikagutha