refactor: optimize v0.50.0 release (#975)

- Simplifies architecture for splitting engine services into different components. The three supported services are now `grpc-api`, `scheduler`, and `controllers`. The `grpc-api` service is the only one which needs to be exposed for workers. The other two can run as unexposed services.
- Fixes a set of bugs and race conditions in the `v2` scheduler
- Adds a `lastActive` time to the `Queue` table and includes a migration which sets this `lastActive` time for the most recent 24 hours of queues. Effectively this means that the max scheduling time in a queue is 24 hours. 
- Rewrites the `ListWorkflowsForEvent` query to improve performance and select far fewer rows.
This commit is contained in:
abelanger5
2024-10-23 08:05:16 -04:00
committed by GitHub
parent b3c0b268af
commit 2cdee59aea
66 changed files with 9713 additions and 1190 deletions
+1
View File
@@ -98,6 +98,7 @@ func QueueTypeFromTickerID(t string) consumerQueue {
const (
JobController = "job"
WorkflowController = "workflow"
Scheduler = "scheduler"
)
func QueueTypeFromPartitionIDAndController(p, controller string) consumerQueue {