From 0efaa9b16c131b13a6b1d7346207d3ebc6345155 Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Wed, 29 Jun 2022 15:40:49 +0800 Subject: [PATCH] #2225 add log --- services/reward/cloubrain_deduct.go | 1 + services/reward/notify.go | 2 ++ services/reward/operator.go | 15 +++++++++++++++ services/reward/period_task.go | 1 + services/reward/point/account/point_account.go | 9 +++++++-- services/reward/point/point_operate.go | 5 +++++ services/reward/record.go | 4 ++++ services/reward/serial.go | 2 ++ services/task/task.go | 4 +++- services/task/task_config.go | 4 ++++ 10 files changed, 44 insertions(+), 3 deletions(-) diff --git a/services/reward/cloubrain_deduct.go b/services/reward/cloubrain_deduct.go index 39354b98c..7d0c39028 100644 --- a/services/reward/cloubrain_deduct.go +++ b/services/reward/cloubrain_deduct.go @@ -22,6 +22,7 @@ func StartAndGetCloudBrainPointDeductTask(task models.Cloudbrain) (*models.Rewar spec := models.GetResourceSpec(task.JobType, task.ResourceSpecId) if spec == nil || spec.UnitPrice == 0 { + log.Debug("GetResourceSpec failed,spec is nil or UnitPrice = 0") return nil, nil } diff --git a/services/reward/notify.go b/services/reward/notify.go index 5cfe6ee77..2cd27f007 100644 --- a/services/reward/notify.go +++ b/services/reward/notify.go @@ -2,6 +2,7 @@ package reward import ( "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/redis/redis_client" "code.gitea.io/gitea/modules/redis/redis_key" "code.gitea.io/gitea/modules/timeutil" @@ -24,6 +25,7 @@ func NotifyRewardOperation(userId, amount int64, rewardType models.RewardType, o func GetRewardOperation(since, until timeutil.TimeStamp) []models.UserRewardOperation { list, err := redis_client.ZRangeByScore(redis_key.RewardOperateNotification(), float64(since), float64(until)) if err != nil { + log.Error("GetRewardOperation ZRangeByScore error. %v", err) return nil } if len(list) == 0 { diff --git a/services/reward/operator.go b/services/reward/operator.go index 8a3ea12f2..3a869d772 100644 --- a/services/reward/operator.go +++ b/services/reward/operator.go @@ -57,6 +57,7 @@ func Operate(ctx *models.RewardOperateContext) error { //get operator operator := GetOperator(ctx.Reward.Type) if operator == nil { + log.Error("operator of reward type is not exist,ctx=%v", ctx) return errors.New("operator of reward type is not exist") } @@ -71,6 +72,7 @@ func Operate(ctx *models.RewardOperateContext) error { //new reward operate record recordId, err := initRewardOperateRecord(ctx) if err != nil { + log.Error("initRewardOperateRecord error,err=%v", err) return err } @@ -78,6 +80,7 @@ func Operate(ctx *models.RewardOperateContext) error { //operate if err := operator.Operate(ctx); err != nil { + log.Error("operator Operate error,err=%v", err) UpdateRewardRecordToFinalStatus(ctx.SourceType.Name(), ctx.RequestId, models.OperateStatusFailed) return err } @@ -101,9 +104,11 @@ func GetOperator(rewardType models.RewardType) RewardOperator { func isHandled(sourceType string, requestId string, operateType string) (bool, error) { _, err := models.GetPointOperateRecordBySourceTypeAndRequestId(sourceType, requestId, operateType) if err != nil { + log.Error("operator isHandled error. %v", err) if models.IsErrRecordNotExist(err) { return false, nil } + log.Error("GetPointOperateRecordBySourceTypeAndRequestId ZRangeByScore error. %v", err) return false, err } return true, nil @@ -113,6 +118,7 @@ func isHandled(sourceType string, requestId string, operateType string) (bool, e func initRewardOperateRecord(ctx *models.RewardOperateContext) (string, error) { sn, err := generateOperateSerialNo(ctx.OperateType, ctx.Reward.Type) if err != nil { + log.Error("generateOperateSerialNo error. %v", err) return "", err } record := &models.RewardOperateRecord{ @@ -131,6 +137,7 @@ func initRewardOperateRecord(ctx *models.RewardOperateContext) (string, error) { } _, err = models.InsertRewardOperateRecord(record) if err != nil { + log.Error("InsertRewardOperateRecord error. %v", err) return "", err } return record.SerialNo, nil @@ -139,6 +146,7 @@ func initRewardOperateRecord(ctx *models.RewardOperateContext) (string, error) { func createPeriodicRewardOperateRecord(ctx *models.StartPeriodicTaskOpts) (string, error) { sn, err := generateOperateSerialNo(ctx.OperateType, ctx.RewardType) if err != nil { + log.Error("createPeriodic generateOperateSerialNo error. %v", err) return "", err } record := &models.RewardOperateRecord{ @@ -156,6 +164,7 @@ func createPeriodicRewardOperateRecord(ctx *models.StartPeriodicTaskOpts) (strin } _, err = models.InsertRewardOperateRecord(record) if err != nil { + log.Error("createPeriodic InsertRewardOperateRecord error. %v", err) return "", err } return record.SerialNo, nil @@ -164,6 +173,7 @@ func createPeriodicRewardOperateRecord(ctx *models.StartPeriodicTaskOpts) (strin func UpdateRewardRecordToFinalStatus(sourceType, requestId, newStatus string) error { _, err := models.UpdateRewardRecordToFinalStatus(sourceType, requestId, newStatus) if err != nil { + log.Error("UpdateRewardRecord UpdateRewardRecordToFinalStatus error. %v", err) return err } return nil @@ -184,6 +194,7 @@ func StartAndGetPeriodicTask(opts *models.StartPeriodicTaskOpts) (*models.Reward var rewardLock = redis_lock.NewDistributeLock(redis_key.RewardOperateLock(opts.RequestId, opts.SourceType.Name(), opts.OperateType.Name())) isOk, err := rewardLock.Lock(3 * time.Second) if err != nil { + log.Error("StartAndGetPeriodicTask RewardOperateLock error. %v", err) return nil, err } if !isOk { @@ -210,10 +221,12 @@ func StartAndGetPeriodicTask(opts *models.StartPeriodicTaskOpts) (*models.Reward //new reward operate record recordId, err := createPeriodicRewardOperateRecord(opts) if err != nil { + log.Error("StartAndGetPeriodicTask createPeriodicRewardOperateRecord error. %v", err) return nil, err } if err = NewRewardPeriodicTask(recordId, opts); err != nil { + log.Error("StartAndGetPeriodicTask NewRewardPeriodicTask error. %v", err) UpdateRewardRecordToFinalStatus(opts.SourceType.Name(), opts.RequestId, models.OperateStatusFailed) return nil, err } @@ -258,6 +271,8 @@ func StopPeriodicTask(sourceType models.SourceType, sourceId string, operateType func generateOperateSerialNo(operateType models.RewardOperateType, rewardType models.RewardType) (string, error) { s, err := GetSerialNoByRedis() if err != nil { + log.Error("generateOperateSerialNo error. %v", err) + return "", err } diff --git a/services/reward/period_task.go b/services/reward/period_task.go index f6bd45fc9..b6315b19f 100644 --- a/services/reward/period_task.go +++ b/services/reward/period_task.go @@ -67,6 +67,7 @@ func RunRewardTask(t models.RewardPeriodicTask, now time.Time) error { } n, _ := countExecuteTimes(t, now) if n == 0 { + log.Info("countExecuteTimes result is 0") return nil } diff --git a/services/reward/point/account/point_account.go b/services/reward/point/account/point_account.go index 693694c76..c1d5722c4 100644 --- a/services/reward/point/account/point_account.go +++ b/services/reward/point/account/point_account.go @@ -2,6 +2,7 @@ package account import ( "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/redis/redis_client" "code.gitea.io/gitea/modules/redis/redis_key" "code.gitea.io/gitea/modules/redis/redis_lock" @@ -24,10 +25,12 @@ func GetAccount(userId int64) (*models.PointAccount, error) { if models.IsErrRecordNotExist(err) { a, err := InitAccount(userId) if err != nil { + log.Error("InitAccount error,err=%v", err) return nil, err } return a, nil } + log.Error("GetAccountByUserId error,err=%v", err) return nil, err } jsonStr, _ := json.Marshal(account) @@ -39,6 +42,7 @@ func InitAccount(userId int64) (*models.PointAccount, error) { lock := redis_lock.NewDistributeLock(redis_key.PointAccountInitLock(userId)) isOk, err := lock.LockWithWait(3*time.Second, 3*time.Second) if err != nil { + log.Error("PointAccountInitLock error,err=%v", err) return nil, err } if isOk { @@ -71,8 +75,9 @@ func IsPointBalanceEnough(targetUserId int64, jobType string, resourceSpecId int if spec == nil { return true } - a, error := GetAccount(targetUserId) - if error != nil { + a, err := GetAccount(targetUserId) + if err != nil { + log.Error("IsPointBalanceEnough GetAccount error,err=%v", err) return false } return a.Balance >= spec.UnitPrice diff --git a/services/reward/point/point_operate.go b/services/reward/point/point_operate.go index 101758db8..ccdf1f423 100644 --- a/services/reward/point/point_operate.go +++ b/services/reward/point/point_operate.go @@ -18,6 +18,7 @@ type PointOperator struct { func (operator *PointOperator) IsLimited(ctx *models.RewardOperateContext) error { realAmount, err := limiter.CheckLimit(ctx.SourceType.Name(), models.LimitTypeRewardPoint, ctx.TargetUserId, ctx.Reward.Amount, ctx.RejectPolicy) if err != nil { + log.Error("PointOperator IsLimited error,err=%v", err) return err } if realAmount < ctx.Reward.Amount { @@ -30,12 +31,14 @@ func (operator *PointOperator) IsLimited(ctx *models.RewardOperateContext) error func (operator *PointOperator) Operate(ctx *models.RewardOperateContext) error { a, err := account.GetAccount(ctx.TargetUserId) if err != nil || a == nil { + log.Error("operator get account error error,err=%v", err) return errors.New("get account error") } lock := redis_lock.NewDistributeLock(redis_key.PointAccountOperateLock(a.AccountCode)) isOk, err := lock.LockWithWait(3*time.Second, 3*time.Second) if err != nil { + log.Error("Get PointAccountOperateLock error,err=%v", err) return err } if isOk { @@ -51,11 +54,13 @@ func (operator *PointOperator) Operate(ctx *models.RewardOperateContext) error { err = na.Decrease(ctx.Reward.Amount, ctx.SourceId) } if err != nil { + log.Error("operate account balance error,err=%v", err) return err } redis_client.Del(redis_key.PointAccountInfo(ctx.TargetUserId)) } else { + log.Error("Get account operate lock failed,ctx=%v", ctx) return errors.New("Get account operate lock failed") } return nil diff --git a/services/reward/record.go b/services/reward/record.go index b1ac86876..460a6fc81 100644 --- a/services/reward/record.go +++ b/services/reward/record.go @@ -2,6 +2,7 @@ package reward import ( "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/log" ) type RecordResponse struct { @@ -14,6 +15,8 @@ type RecordResponse struct { func GetRewardRecordList(opts models.RewardRecordListOpts) (*RecordResponse, error) { l, n, err := models.GetRewardRecordList(opts) if err != nil { + log.Error("GetRewardRecordList error. %v", err) + return nil, err } if len(l) == 0 { @@ -21,6 +24,7 @@ func GetRewardRecordList(opts models.RewardRecordListOpts) (*RecordResponse, err } result, err := l.ToShow() if err != nil { + log.Error("GetRewardRecordList ToShow error. %v", err) return nil, err } diff --git a/services/reward/serial.go b/services/reward/serial.go index e9509c403..b6a47bbc3 100644 --- a/services/reward/serial.go +++ b/services/reward/serial.go @@ -1,6 +1,7 @@ package reward import ( + "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/redis/redis_client" "code.gitea.io/gitea/modules/redis/redis_key" "fmt" @@ -12,6 +13,7 @@ func GetSerialNoByRedis() (string, error) { now := time.Now() n, err := redis_client.IncrBy(redis_key.RewardSerialCounter(now), 1) if err != nil { + log.Error("GetSerialNoByRedis RewardSerialCounter error. %v", err) return "", err } if n == 1 { diff --git a/services/task/task.go b/services/task/task.go index e5b57ac3d..dcf7007c6 100644 --- a/services/task/task.go +++ b/services/task/task.go @@ -61,6 +61,7 @@ func accomplish(action models.Action) error { ActionId: action.ID, }) if err != nil { + log.Error("InsertTaskAccomplishLog error,%v", err) return err } @@ -78,12 +79,13 @@ func accomplish(action models.Action) error { OperateType: models.OperateTypeIncrease, RejectPolicy: models.FillUp, }) - + log.Debug("accomplish success,action=%v", action) return nil } func isLimited(userId int64, config *models.TaskConfig, rejectPolicy models.LimiterRejectPolicy) bool { if _, err := limiter.CheckLimit(config.TaskCode, models.LimitTypeTask, userId, 1, rejectPolicy); err != nil { + log.Error(" isLimited CheckLimit error. %v", err) return true } return false diff --git a/services/task/task_config.go b/services/task/task_config.go index 0184ca15b..0404a6f06 100644 --- a/services/task/task_config.go +++ b/services/task/task_config.go @@ -16,6 +16,7 @@ import ( func GetTaskConfig(taskType string) (*models.TaskConfig, error) { list, err := GetTaskConfigList() if err != nil { + log.Error(" GetTaskConfigList error. %v", err) return nil, err } for _, v := range list { @@ -39,6 +40,7 @@ func GetTaskConfigList() ([]*models.TaskConfig, error) { } config, err := models.GetTaskConfigList() if err != nil { + log.Error(" GetTaskConfigList from model error. %v", err) if models.IsErrRecordNotExist(err) { redis_client.Setex(redisKey, redis_key.EMPTY_REDIS_VAL, 5*time.Second) return nil, nil @@ -61,6 +63,7 @@ func GetTaskConfigWithLimitList() ([]*models.TaskConfigWithLimit, error) { r := make([]*models.TaskConfigWithLimit, 0) l, err := limiter.GetLimitersByLimitType(models.LimitTypeTask) if err != nil { + log.Error(" GetLimitersByLimitType from redis error. %v", err) return nil, err } for i := 0; i < len(list); i++ { @@ -88,6 +91,7 @@ func GetTaskConfigWithLimitList() ([]*models.TaskConfigWithLimit, error) { func AddTaskConfig(config models.TaskConfigWithLimit, doer *models.User) error { if config.TaskCode == "" || config.AwardType == "" { + log.Error(" AddTaskConfig param error") return errors.New("param error") } err := models.AddTaskConfig(config, doer)