Files
geo/server/Makefile
T
root 3f5b5c1e01 feat(infra): add scheduler and worker-generate standalone processes
Extract monitoring recovery/inspection workers and schedule dispatch
into a dedicated scheduler process. Add worker-generate process for
article generation and template-assist queue consumption. Introduce
shared/schedule runtime for cron-based worker lifecycle management.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 14:19:21 +08:00

56 lines
1.9 KiB
Makefile

.PHONY: dev-init dev-api dev-worker-generate dev-scheduler 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
docker compose up -d
@echo "Waiting for postgres..."
@sleep 3
$(MAKE) migrate-up
$(MAKE) migrate-monitoring-up
$(MAKE) seed
dev-api: ## Run tenant-api server
go run ./cmd/tenant-api
dev-worker-generate: ## Run article generation worker
go run ./cmd/worker-generate
dev-scheduler: ## Run scheduler workers
go run ./cmd/scheduler
migrate-up: ## Run all pending migrations
$(MIGRATE_CMD) -path migrations -database "$(DB_URL)" up
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)
sqlc-generate: ## Generate typed Go code from SQL queries
cd internal/tenant/repository && sqlc generate
tenant-scope-guard: ## Ensure tenant-scoped SQL includes tenant_id filters
bash scripts/check_tenant_scope.sh
seed: ## Insert development seed data
go run ./cmd/dev-seed
lint: ## Run linter
golangci-lint run ./...
test: ## Run all tests
go test ./... -count=1
tidy: ## Tidy go modules
go mod tidy