Move schema ownership to infrastructure layer: - Redis keys: config/constants.go -> queue/keys.go (TaskQueueKey, TaskPrefix, etc.) - Filesystem paths: config/paths.go -> storage/paths.go (JobPaths) - Create config/shared.go with RedisConfig, SSHConfig - Update all imports: worker/, api/helpers, api/ws_jobs, api/ws_validate - Clean up: remove duplicates from queue/task.go, queue/queue.go, config/paths.go Build status: Compiles successfully
23 lines
667 B
Go
23 lines
667 B
Go
// Package queue provides task queue functionality
|
|
package queue
|
|
|
|
// Redis key prefixes - schema ownership belongs with the queue package
|
|
const (
|
|
TaskQueueKey = "ml:queue"
|
|
TaskPrefix = "ml:task:"
|
|
JobMetricsPrefix = "ml:metrics:"
|
|
TaskStatusPrefix = "ml:status:"
|
|
DatasetPrefix = "ml:dataset:"
|
|
WorkerHeartbeat = "ml:workers:heartbeat"
|
|
WorkerPrewarmKey = "ml:workers:prewarm:"
|
|
PrewarmGCRequestKey = "ml:prewarm:gc:request"
|
|
)
|
|
|
|
// Task status constants
|
|
const (
|
|
TaskStatusQueued = "queued"
|
|
TaskStatusRunning = "running"
|
|
TaskStatusCompleted = "completed"
|
|
TaskStatusFailed = "failed"
|
|
TaskStatusCancelled = "cancelled"
|
|
)
|