Add monitoring service and database schema

- Implement monitoring service with heartbeat, lease tasks, resume tasks, and task result handling.
- Create monitoring time utilities for business date calculations.
- Add unit tests for date window resolution and business day handling.
- Define database schema for monitoring-related tables including quotas, daily reports, and task management.
- Establish migration scripts for creating and dropping monitoring tables.
This commit is contained in:
2026-04-12 09:56:18 +08:00
parent 9b4dd09780
commit 6066f43a7d
67 changed files with 16312 additions and 125 deletions
+9 -1
View File
@@ -1,6 +1,7 @@
.PHONY: dev-init dev-api migrate-up migrate-down migrate-create sqlc-generate tenant-scope-guard lint test tidy seed
.PHONY: dev-init dev-api migrate-up migrate-down migrate-monitoring-up migrate-monitoring-down migrate-create sqlc-generate tenant-scope-guard lint test tidy seed
DB_URL ?= postgres://geo:geo_dev@localhost:5432/geo?sslmode=disable
MONITORING_DB_URL ?= postgres://geo:geo_dev@localhost:5433/geo_monitoring?sslmode=disable
MIGRATE_CMD ?= go run -tags postgres github.com/golang-migrate/migrate/v4/cmd/migrate@v4.19.1
dev-init: ## Start infra, run migrations, seed data
@@ -8,6 +9,7 @@ dev-init: ## Start infra, run migrations, seed data
@echo "Waiting for postgres..."
@sleep 3
$(MAKE) migrate-up
$(MAKE) migrate-monitoring-up
$(MAKE) seed
dev-api: ## Run tenant-api server
@@ -19,6 +21,12 @@ migrate-up: ## Run all pending migrations
migrate-down: ## Rollback last migration
$(MIGRATE_CMD) -path migrations -database "$(DB_URL)" down 1
migrate-monitoring-up: ## Run all pending monitoring migrations
$(MIGRATE_CMD) -path migrations_monitoring -database "$(MONITORING_DB_URL)" up
migrate-monitoring-down: ## Rollback last monitoring migration
$(MIGRATE_CMD) -path migrations_monitoring -database "$(MONITORING_DB_URL)" down 1
migrate-create: ## Create new migration (usage: make migrate-create NAME=xxx)
$(MIGRATE_CMD) create -ext sql -dir migrations -seq $(NAME)