llm_container_delete_task.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package llm_container
  2. import (
  3. "context"
  4. "yunion.io/x/jsonutils"
  5. "yunion.io/x/onecloud/pkg/cloudcommon/db"
  6. "yunion.io/x/onecloud/pkg/cloudcommon/db/taskman"
  7. "yunion.io/x/onecloud/pkg/llm/models"
  8. "yunion.io/x/onecloud/pkg/util/logclient"
  9. )
  10. type LLMContainerDeleteTask struct {
  11. taskman.STask
  12. }
  13. func init() {
  14. taskman.RegisterTask(LLMContainerDeleteTask{})
  15. }
  16. func (task *LLMContainerDeleteTask) taskFailed(ctx context.Context, lc *models.SLLMContainer, status string, err error) {
  17. lc.SetStatus(ctx, task.UserCred, status, err.Error())
  18. db.OpsLog.LogEvent(lc, db.ACT_DELETE, err, task.UserCred)
  19. logclient.AddActionLogWithStartable(task, lc, logclient.ACT_DELETE, err, task.UserCred, false)
  20. task.SetStageFailed(ctx, jsonutils.NewString(err.Error()))
  21. }
  22. func (task *LLMContainerDeleteTask) taskComplete(ctx context.Context, lc *models.SLLMContainer) {
  23. lc.RealDelete(ctx, task.GetUserCred())
  24. task.SetStageComplete(ctx, nil)
  25. }
  26. func (task *LLMContainerDeleteTask) OnInit(ctx context.Context, obj db.IStandaloneModel, body jsonutils.JSONObject) {
  27. lc := obj.(*models.SLLMContainer)
  28. task.taskComplete(ctx, lc)
  29. }