feat: 添加分布式锁以防止多个任务同时执行
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package cron
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
@@ -194,6 +195,9 @@ func (qj QueueJob) Run() {
|
||||
// 获取队列处理器接口实现
|
||||
processor := *job.queueProcessor
|
||||
result, err := processor.Execute(job.Data)
|
||||
if errors.Is(err, ErrTaskRunning) {
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
job.Status = Failed
|
||||
cronLog.Error(err, "failed", job)
|
||||
|
||||
Reference in New Issue
Block a user