2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 09:13:49 +08:00

refactor: 应用支持依赖注入

This commit is contained in:
耗子
2024-12-16 02:01:31 +08:00
parent 1fdc86cc0a
commit a64660d0cb
57 changed files with 663 additions and 861 deletions

View File

@@ -6,7 +6,6 @@ import (
"gorm.io/gorm"
"github.com/TheTNB/panel/internal/app"
"github.com/TheTNB/panel/internal/biz"
"github.com/TheTNB/panel/internal/queuejob"
"github.com/TheTNB/panel/pkg/queue"
@@ -70,31 +69,3 @@ func (r *taskRepo) Push(task *biz.Task) error {
task.ID,
})
}
// TODO 修复此功能
func (r *taskRepo) DispatchWaiting() {
// cli下不处理
if app.IsCli {
return
}
if err := r.db.Model(&biz.Task{}).Where("status = ?", biz.TaskStatusRunning).Update("status", biz.TaskStatusFailed).Error; err != nil {
r.log.Warn("failed to mark running tasks as failed", slog.Any("err", err))
return
}
var tasks []biz.Task
if err := r.db.Where("status = ?", biz.TaskStatusWaiting).Find(&tasks).Error; err != nil {
r.log.Warn("failed to get pending tasks", slog.Any("err", err))
return
}
for _, task := range tasks {
if err := r.queue.Push(queuejob.NewProcessTask(r.log, r), []any{
task.ID,
}); err != nil {
r.log.Warn("failed to push task", slog.Any("err", err))
return
}
}
}