diff --git a/models/cloudbrain_static.go b/models/cloudbrain_static.go index e6bdd7848..f646daf0c 100644 --- a/models/cloudbrain_static.go +++ b/models/cloudbrain_static.go @@ -3,8 +3,25 @@ package models import ( "strconv" "time" + + "code.gitea.io/gitea/modules/timeutil" ) +// Cloudbrain statistic info of all CloudbrainTasks +type CloudbrainStatistic struct { + ID int64 `xorm:"pk autoincr" json:"-"` + Date string `xorm:"unique(s) NOT NULL" json:"date"` + NumDubugOne int64 `xorm:"NOT NULL DEFAULT 0" json:"numDubugOne"` + NumBenchmarkOne int64 `xorm:"NOT NULL DEFAULT 0" json:"numBenchmarkOne"` + NumTrainOne int64 `xorm:"NOT NULL DEFAULT 0" json:"numTrainOne"` + NumDubugTwo int64 `xorm:"NOT NULL DEFAULT 0" json:"numDubugTwo"` + NumTrainTwo int64 `xorm:"NOT NULL DEFAULT 0" json:"numTrainTwo"` + NumInferenceTwo int64 `xorm:"NOT NULL DEFAULT 0" json:"numInferenceTwo"` + + CreatedUnix timeutil.TimeStamp `xorm:"INDEX created" json:"-"` + UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated" json:"-"` +} + func GenerateDebugOneCount(beginTime time.Time, endTime time.Time) (int64, error) { countSql := "SELECT count(*) FROM " + "public.cloudbrain where created_unix >=" + strconv.FormatInt(beginTime.Unix(), 10) + diff --git a/modules/cron/tasks_basic.go b/modules/cron/tasks_basic.go index b9838e66f..011cc8dba 100755 --- a/modules/cron/tasks_basic.go +++ b/modules/cron/tasks_basic.go @@ -173,6 +173,16 @@ func registerHandleRepoAndUserStatistic() { return nil }) } +func registerHandleCloudbrainStatistic() { + RegisterTaskFatal("handle_cloudbrain_statistic", &BaseConfig{ + Enabled: true, + RunAtStart: false, + Schedule: "@daily", + }, func(ctx context.Context, _ *models.User, _ Config) error { + repo.CloudbrainStatisticAuto() + return nil + }) +} func registerHandleSummaryStatistic() { RegisterTaskFatal("handle_summary_statistic", &BaseConfig{ @@ -212,6 +222,7 @@ func initBasicTasks() { registerHandleBlockChainUnSuccessCommits() registerHandleRepoAndUserStatistic() + registerHandleCloudbrainStatistic() registerHandleSummaryStatistic() registerSyncCloudbrainStatus() diff --git a/routers/repo/repo_statistic.go b/routers/repo/repo_statistic.go index 8c7ea0fe5..b889eb951 100755 --- a/routers/repo/repo_statistic.go +++ b/routers/repo/repo_statistic.go @@ -17,7 +17,6 @@ import ( func StatisticAuto() { RepoStatisticAuto() TimingCountData() - CloudbrainStatisticAuto() } //auto daily