Phase6
This commit is contained in:
@@ -34,11 +34,13 @@ enum GameServerStatus {
|
||||
PROVISIONING
|
||||
INSTALLING
|
||||
STOPPED
|
||||
QUEUED
|
||||
STARTING
|
||||
RUNNING
|
||||
STOPPING
|
||||
BACKING_UP
|
||||
RESTORING
|
||||
UNKNOWN
|
||||
ERROR
|
||||
DELETING
|
||||
DELETED
|
||||
@@ -57,6 +59,13 @@ enum AllocationStatus {
|
||||
RELEASED
|
||||
}
|
||||
|
||||
enum StartQueueStatus {
|
||||
QUEUED
|
||||
DISPATCHED
|
||||
CANCELLED
|
||||
EXPIRED
|
||||
}
|
||||
|
||||
enum JobStatus {
|
||||
PENDING
|
||||
RUNNING
|
||||
@@ -282,6 +291,7 @@ model GameServer {
|
||||
backupSchedule BackupSchedule?
|
||||
worldUploads WorldUpload[]
|
||||
installedAddons InstalledAddon[]
|
||||
startQueueEntry ServerStartQueueEntry?
|
||||
|
||||
@@index([userId])
|
||||
@@index([nodeId])
|
||||
@@ -333,18 +343,22 @@ model GameNode {
|
||||
hostname String
|
||||
status GameNodeStatus @default(OFFLINE)
|
||||
maxServers Int @default(10)
|
||||
maxRamMb Int @default(16384)
|
||||
platformRamMb Int @default(2048)
|
||||
activeServers Int @default(0)
|
||||
lastHeartbeatAt DateTime? @db.Timestamptz(3)
|
||||
agentVersion String?
|
||||
enrollmentTokenHash String?
|
||||
enrolledAt DateTime? @db.Timestamptz(3)
|
||||
drainRequestedAt DateTime? @db.Timestamptz(3)
|
||||
metadata Json?
|
||||
createdAt DateTime @default(now()) @db.Timestamptz(3)
|
||||
updatedAt DateTime @updatedAt @db.Timestamptz(3)
|
||||
|
||||
gameServers GameServer[]
|
||||
heartbeats GameNodeHeartbeat[]
|
||||
allocations GameServerAllocation[]
|
||||
gameServers GameServer[]
|
||||
heartbeats GameNodeHeartbeat[]
|
||||
allocations GameServerAllocation[]
|
||||
startQueueEntries ServerStartQueueEntry[]
|
||||
|
||||
@@map("game_nodes")
|
||||
}
|
||||
@@ -362,6 +376,26 @@ model GameNodeHeartbeat {
|
||||
@@map("game_node_heartbeats")
|
||||
}
|
||||
|
||||
model ServerStartQueueEntry {
|
||||
id String @id @default(uuid())
|
||||
serverId String @unique
|
||||
nodeId String
|
||||
status StartQueueStatus @default(QUEUED)
|
||||
priority Int @default(0)
|
||||
correlationId String?
|
||||
requestedAt DateTime @default(now()) @db.Timestamptz(3)
|
||||
expiresAt DateTime? @db.Timestamptz(3)
|
||||
createdAt DateTime @default(now()) @db.Timestamptz(3)
|
||||
updatedAt DateTime @updatedAt @db.Timestamptz(3)
|
||||
|
||||
server GameServer @relation(fields: [serverId], references: [id], onDelete: Cascade)
|
||||
node GameNode @relation(fields: [nodeId], references: [id])
|
||||
|
||||
@@index([status, priority, requestedAt])
|
||||
@@index([nodeId])
|
||||
@@map("server_start_queue")
|
||||
}
|
||||
|
||||
model Plan {
|
||||
id String @id @default(uuid())
|
||||
name String @unique
|
||||
|
||||
Reference in New Issue
Block a user