Skip to content

Conversation

@Travis-Softwire
Copy link
Collaborator

Ticket number

PRSD-1605

Goal of change

Updating ADR-0033 to focus on ad-hoc async tasks instead of scheduled tasks (restoring the status of ADR-0029 in respect of the latter

Description of main change(s)

In investigating the proposed architecture for async tasks in the previous verison of ADR-0033 it became clear that it didn't work perfectly for either scheduled tasks or ad-hoc async tasks, and that actually each case had different requirements. Further investigation found that the pattern proposed in ADR-0029 (directly invoking ECS tasks) is commonly used in other services.

This PR revises ADR-0033 to focus more narrowly on ad-hoc async tasks, and concludes that we should (for now, at least) allow the webapp container to handle these.

@Travis-Softwire Travis-Softwire force-pushed the feat/prsd-1605-async-tasks-adr-revisit branch from 9fbd5ad to 507007e Compare November 4, 2025 07:39
Comment on lines +62 to +63
* Bad, because it would require creating a custom scaling rule for the ECS service, including a lambda function to calculate the metrics,
which is more complex than using the built-in scaling rules.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think this one applies here

### Separate long-running ECS task with webserver and private endpoints

We could run a mirror of our existing ECS service, with a private loadbalancer that is only accessible from within our VPC and endpoints
that could be targeted by Eventbridge Scheduler.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given this ADR is about on-demand tasks, should these summaries be talking about EventBridge Scheduler? Rather than just vanilla EventBridge or direct queue interaction from the web app? (Although I guess it is true that EventBridge Scheduler could put messages on the queue, too!)

## Status

Superseded
ACCEPTED
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Teeny detail, but I don't think any of the other ADRs are using ALL CAPS for status

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants