Wires the scheduler into the cup application following the exact conventions of the Asynq queue integration. A new testmac/config/scheduler.go file provides GetSchedulerConfig() with enable flag, polling interval, and rate limit. A new testmac/register-scheduler.go file registers task handlers (send_email and flaky_task as samples) on the Schedulermux, creates the DB-backed store via core.ResolveGorm(), and launches the scheduler in a goroutine — only when EnableScheduler: true. The scheduler tables are migrated alongside other models in run-auto-migrations.go via db.AutoMigrate(&scheduler.QueueItem{}, &scheduler.ProcessedItem{}).

This commit is contained in:
Jose Cely 2026-06-13 18:59:06 -05:00
parent f4476d3e89
commit 3d051e9617
6 changed files with 203 additions and 0 deletions

View file

@ -31,6 +31,10 @@ func registerRoutes() {
// queue sample route
controller.Get("/queuesample", controllers.Queuesample)
// scheduler sample routes
controller.Get("/schedsample", controllers.SchedulerSample)
controller.Get("/schedsemaphore", controllers.SchedulerSemaphoreToggle)
// Uncomment the lines below to enable user administration
controller.Get("/admin/users", controllers.AdminUsersList)
controller.Post("/admin/users", controllers.AdminUsersList)