fix: 网元重启事件触发跟踪任务重发任务id对不上
This commit is contained in:
@@ -485,7 +485,7 @@ func alarmEventNew(neInfo neModel.NeInfo, v Alarm) (neDataModel.AlarmEvent, erro
|
|||||||
}
|
}
|
||||||
// 网元重启后,有跟踪任务的需要重新补发启动任务
|
// 网元重启后,有跟踪任务的需要重新补发启动任务
|
||||||
if v.AlarmCode == constants.ALARM_EVENT_REBOOT {
|
if v.AlarmCode == constants.ALARM_EVENT_REBOOT {
|
||||||
traceService.NewTraceTask.RunUnstopped()
|
traceService.NewTraceTask.RunUnstopped(neInfo.NeType, neInfo.NeId)
|
||||||
}
|
}
|
||||||
return alarmEvent, nil
|
return alarmEvent, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,11 +116,11 @@ func (r TraceTask) SelectByIds(ids []int64) []model.TraceTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SelectByUnstopped 查询未停止的任务补发
|
// SelectByUnstopped 查询未停止的任务补发
|
||||||
func (r TraceTask) SelectByUnstopped() []model.TraceTask {
|
func (r TraceTask) SelectByUnstopped(neStr string) []model.TraceTask {
|
||||||
rows := []model.TraceTask{}
|
rows := []model.TraceTask{}
|
||||||
tx := db.DB("").Model(&model.TraceTask{})
|
tx := db.DB("").Model(&model.TraceTask{})
|
||||||
// 构建查询条件
|
// 构建查询条件
|
||||||
tx = tx.Where("end_time > ?", time.Now().UnixMilli())
|
tx = tx.Where("end_time > ? and ne_list like ?", time.Now().UnixMilli(), fmt.Sprintf("%%%s%%", neStr))
|
||||||
// 查询数据
|
// 查询数据
|
||||||
if err := tx.Find(&rows).Error; err != nil {
|
if err := tx.Find(&rows).Error; err != nil {
|
||||||
logger.Errorf("query find err => %v", err.Error())
|
logger.Errorf("query find err => %v", err.Error())
|
||||||
|
|||||||
@@ -202,8 +202,9 @@ func (r TraceTask) createTaskToNe(task *model.TraceTask, ignoreErr bool) error {
|
|||||||
return fmt.Errorf("ne list is empty")
|
return fmt.Errorf("ne list is empty")
|
||||||
}
|
}
|
||||||
// 生成任务ID
|
// 生成任务ID
|
||||||
traceId := r.traceTaskRepository.LastID() + 1 // 生成任务ID < 65535
|
if task.TraceId == "" {
|
||||||
task.TraceId = fmt.Sprint(traceId)
|
task.TraceId = fmt.Sprint(r.traceTaskRepository.LastID() + 1) // 生成任务ID < 65535
|
||||||
|
}
|
||||||
|
|
||||||
// 发送任务给网元
|
// 发送任务给网元
|
||||||
errNe := []string{}
|
errNe := []string{}
|
||||||
@@ -331,8 +332,9 @@ func (r TraceTask) DeleteByIds(ids []int64) (int64, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// RunUnstopped 启动跟踪未停止的任务
|
// RunUnstopped 启动跟踪未停止的任务
|
||||||
func (r TraceTask) RunUnstopped() {
|
func (r TraceTask) RunUnstopped(neType string, neId string) {
|
||||||
tasks := r.traceTaskRepository.SelectByUnstopped()
|
neStr := fmt.Sprintf("%s_%s", neType, neId)
|
||||||
|
tasks := r.traceTaskRepository.SelectByUnstopped(neStr)
|
||||||
for _, task := range tasks {
|
for _, task := range tasks {
|
||||||
r.createTaskToNe(&task, true)
|
r.createTaskToNe(&task, true)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user