You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

cloudbrain_temp.go 1.8 kB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package models
  2. import (
  3. "code.gitea.io/gitea/modules/setting"
  4. "time"
  5. "code.gitea.io/gitea/modules/timeutil"
  6. )
  7. const (
  8. //TempJobIdPrefix = "TEMP"
  9. )
  10. type CloudbrainTemp struct {
  11. CloudbrainID int64 `xorm:"pk"`
  12. JobName string
  13. Type int
  14. JobType string `xorm:"INDEX NOT NULL DEFAULT 'DEBUG'"`
  15. Status string `xorm:"INDEX NOT NULL DEFAULT 'TEMP'"`
  16. QueryTimes int `xorm:"INDEX NOT NULL DEFAULT 0"`
  17. CreatedUnix timeutil.TimeStamp `xorm:"INDEX"`
  18. UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
  19. DeletedAt time.Time `xorm:"deleted"`
  20. }
  21. func InsertCloudbrainTemp(temp *CloudbrainTemp) (err error) {
  22. if _, err = x.Insert(temp); err != nil {
  23. return err
  24. }
  25. return nil
  26. }
  27. func getCloudBrainTemp(temp *CloudbrainTemp) (*CloudbrainTemp, error) {
  28. has, err := x.Get(temp)
  29. if err != nil {
  30. return nil, err
  31. } else if !has {
  32. return nil, ErrJobNotExist{}
  33. }
  34. return temp, nil
  35. }
  36. func GetCloudbrainTempByCloudbrainID(id int64) (*CloudbrainTemp, error) {
  37. temp := &CloudbrainTemp{CloudbrainID: id}
  38. return getCloudBrainTemp(temp)
  39. }
  40. func GetCloudBrainTempJobs() ([]*CloudbrainTemp, error) {
  41. jobs := make([]*CloudbrainTemp, 0, 10)
  42. return jobs, x.
  43. Where("status = ? AND query_times < ?", JobStatusTemp, setting.MaxTempQueryTimes).
  44. Limit(100).
  45. Find(&jobs)
  46. }
  47. func DeleteCloudbrainTemp(temp *CloudbrainTemp) error {
  48. return deleteCloudbrainTemp(x, temp)
  49. }
  50. func deleteCloudbrainTemp(e Engine, temp *CloudbrainTemp) error {
  51. _, err := e.Where("cloudbrain_id = ?", temp.CloudbrainID).Delete(temp)
  52. return err
  53. }
  54. func UpdateCloudbrainTemp(temp *CloudbrainTemp) error {
  55. _, err := x.Where("cloudbrain_id = ?", temp.CloudbrainID).AllCols().Update(temp)
  56. return err
  57. }