enum JobStatus {
  READY
  RUNNING
  FINISHED
  STOPPING
  CANCELLED
  FAILED
}

type Job {
  id: ID!
  status: JobStatus!
  subTasks: [String!]
  description: String!
  progress: Float
  startTime: Time
  endTime: Time
  addTime: Time!
  error: String
}

input FindJobInput {
  id: ID!
}

enum JobStatusUpdateType {
  ADD
  REMOVE
  UPDATE
}

type JobStatusUpdate {
  type: JobStatusUpdateType!
  job: Job!
}
