// Package worker_sampledataapp add by blacknc <blacknc@163.com> at 2023/09/25 17:08:31
package worker_sampledataapp

import (
	"dataservices/internal/entity"
	"time"

	"github.com/tidbcloud/tiinf/monitor/tilog"
	"go.uber.org/zap"
)

type FailState struct {
	inState SampleDataappState
	err     error
}

func (s *FailState) String() string {
	return entity.SampleDataTaskStateFaile
}

func (s FailState) Exec(c *SampleDataappContext) {
	tilog.Error(c.ctx, "sample dataapp task execute failed",
		zap.Uint64("dataapp_id", c.dataapp.ID),
		zap.String("in_state", s.inState.String()),
		zap.Error(s.err))
	c.err = s.err
	c.task.CostMS = int(time.Since(c.task.CreatedAt.Time).Milliseconds())
}
