|
|
|
@@ -48,23 +48,24 @@ const ( |
|
|
|
) |
|
|
|
|
|
|
|
type Cloudbrain struct { |
|
|
|
ID int64 `xorm:"pk autoincr"` |
|
|
|
JobID string `xorm:"INDEX NOT NULL"` |
|
|
|
JobType string `xorm:"INDEX NOT NULL DEFAULT 'DEBUG'"` |
|
|
|
JobName string `xorm:"INDEX"` |
|
|
|
Status string `xorm:"INDEX"` |
|
|
|
UserID int64 `xorm:"INDEX"` |
|
|
|
RepoID int64 `xorm:"INDEX"` |
|
|
|
SubTaskName string `xorm:"INDEX"` |
|
|
|
ContainerID string |
|
|
|
ContainerIp string |
|
|
|
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` |
|
|
|
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` |
|
|
|
Duration int `xorm:"INDEX duration"` |
|
|
|
DeletedAt time.Time `xorm:"deleted"` |
|
|
|
CanDebug bool `xorm:"-"` |
|
|
|
CanDel bool `xorm:"-"` |
|
|
|
Type int `xorm:"INDEX DEFAULT 0"` |
|
|
|
ID int64 `xorm:"pk autoincr"` |
|
|
|
JobID string `xorm:"INDEX NOT NULL"` |
|
|
|
JobType string `xorm:"INDEX NOT NULL DEFAULT 'DEBUG'"` |
|
|
|
JobName string `xorm:"INDEX"` |
|
|
|
Status string `xorm:"INDEX"` |
|
|
|
UserID int64 `xorm:"INDEX"` |
|
|
|
RepoID int64 `xorm:"INDEX"` |
|
|
|
SubTaskName string `xorm:"INDEX"` |
|
|
|
ContainerID string |
|
|
|
ContainerIp string |
|
|
|
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` |
|
|
|
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` |
|
|
|
Duration int `xorm:"INDEX duration"` |
|
|
|
TrainJobDuration string |
|
|
|
DeletedAt time.Time `xorm:"deleted"` |
|
|
|
CanDebug bool `xorm:"-"` |
|
|
|
CanDel bool `xorm:"-"` |
|
|
|
Type int `xorm:"INDEX DEFAULT 0"` |
|
|
|
|
|
|
|
VersionID int64 `xorm:"INDEX DEFAULT 0"` |
|
|
|
VersionName string |
|
|
|
@@ -932,9 +933,9 @@ func SetCloudbrainStatusByJobID(jobID string, status CloudbrainStatus) (err erro |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
func SetTrainJobStatusByJobID(jobID string, status string, duration int) (err error) { |
|
|
|
cb := &Cloudbrain{JobID: jobID, Status: string(status), Duration: duration} |
|
|
|
_, err = x.Cols("status", "duration").Where("cloudbrain.job_id=?", jobID).Update(cb) |
|
|
|
func SetTrainJobStatusByJobID(jobID string, status string, duration int, trainjobduration string) (err error) { |
|
|
|
cb := &Cloudbrain{JobID: jobID, Status: string(status), Duration: duration, TrainJobDuration: trainjobduration} |
|
|
|
_, err = x.Cols("status", "duration", "train_job_duration").Where("cloudbrain.job_id=?", jobID).Update(cb) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
@@ -975,7 +976,7 @@ func GetCloudbrainByName(jobName string) (*Cloudbrain, error) { |
|
|
|
} |
|
|
|
|
|
|
|
func CanDelJob(isSigned bool, user *User, job *CloudbrainInfo) bool { |
|
|
|
if !isSigned || (job.Status != string(JobStopped) && job.Status != string(JobFailed) && job.Status != string(ModelArtsStartFailed) && job.Status != string(ModelArtsCreateFailed)){ |
|
|
|
if !isSigned || (job.Status != string(JobStopped) && job.Status != string(JobFailed) && job.Status != string(ModelArtsStartFailed) && job.Status != string(ModelArtsCreateFailed)) { |
|
|
|
return false |
|
|
|
} |
|
|
|
repo, err := GetRepositoryByID(job.RepoID) |
|
|
|
|