package cloudbrain import ( "errors" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/models" ) func GenerateTask(ctx *context.Context, jobName, image, command string) error { jobResult, err := CreateJob(jobName, models.CreateJobParams{ JobName: jobName, RetryCount: 1, GpuType: "dgx", Image: image, TaskRoles: []models.TaskRole{ { Name: "task1", TaskNumber: 1, MinSucceededTaskCount: 1, MinFailedTaskCount: 1, CPUNumber: 2, GPUNumber: 1, MemoryMB: 16384, ShmMB: 8192, Command: command, NeedIBDevice: false, IsMainRole: false, }, }, }) if err != nil { return err } if jobResult.Code != "S000" { return errors.New(jobResult.Msg) } var jobID = jobResult.Payload["jobId"].(string) err = models.CreateCloudbrain(&models.Cloudbrain{ Status: string(models.JobWaiting), UserID: ctx.User.ID, RepoID: ctx.Repo.Repository.ID, JobID: jobID, JobName: jobName, }) if err != nil { return err } return nil }