[migration] extract UpdateStoppedChildTasksToReady
This commit is contained in:
parent
7e79c509b2
commit
556a3d49d8
|
@ -48,41 +48,8 @@ func (p *processor) handleReadyMajorTask(taskItem *task.Task) error {
|
||||||
if ok, _ := util.ExtractBool(taskItem.Metadata.Labels["is_split"]); !ok {
|
if ok, _ := util.ExtractBool(taskItem.Metadata.Labels["is_split"]); !ok {
|
||||||
return p.splitMajorTask(taskItem)
|
return p.splitMajorTask(taskItem)
|
||||||
}
|
}
|
||||||
//update status of subtask to ready
|
// update status of subtask to ready
|
||||||
query := util.MapStr{
|
err := migration_util.UpdateStoppedChildTasksToReady(taskItem, "index_comparison")
|
||||||
"bool": util.MapStr{
|
|
||||||
"must": []util.MapStr{
|
|
||||||
{
|
|
||||||
"term": util.MapStr{
|
|
||||||
"parent_id": util.MapStr{
|
|
||||||
"value": taskItem.ID,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"terms": util.MapStr{
|
|
||||||
"status": []string{task.StatusError, task.StatusStopped},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"term": util.MapStr{
|
|
||||||
"metadata.type": util.MapStr{
|
|
||||||
"value": "index_comparison",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
queryDsl := util.MapStr{
|
|
||||||
"query": query,
|
|
||||||
"script": util.MapStr{
|
|
||||||
"source": fmt.Sprintf("ctx._source['status'] = '%s'", task.StatusReady),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
esClient := elastic.GetClient(p.Elasticsearch)
|
|
||||||
_, err := esClient.UpdateByQuery(p.IndexName, util.MustToJSONBytes(queryDsl))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("failed to update sub task status, err: %v", err)
|
log.Errorf("failed to update sub task status, err: %v", err)
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -50,41 +50,8 @@ func (p *processor) handleReadyMajorTask(taskItem *task.Task) error {
|
||||||
if ok, _ := util.ExtractBool(taskItem.Metadata.Labels["is_split"]); !ok {
|
if ok, _ := util.ExtractBool(taskItem.Metadata.Labels["is_split"]); !ok {
|
||||||
return p.splitMajorMigrationTask(taskItem)
|
return p.splitMajorMigrationTask(taskItem)
|
||||||
}
|
}
|
||||||
//update status of subtask to ready
|
// update status of subtask to ready
|
||||||
query := util.MapStr{
|
err := migration_util.UpdateStoppedChildTasksToReady(taskItem, "index_migration")
|
||||||
"bool": util.MapStr{
|
|
||||||
"must": []util.MapStr{
|
|
||||||
{
|
|
||||||
"term": util.MapStr{
|
|
||||||
"parent_id": util.MapStr{
|
|
||||||
"value": taskItem.ID,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"terms": util.MapStr{
|
|
||||||
"status": []string{task.StatusError, task.StatusStopped},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"term": util.MapStr{
|
|
||||||
"metadata.type": util.MapStr{
|
|
||||||
"value": "index_migration",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
queryDsl := util.MapStr{
|
|
||||||
"query": query,
|
|
||||||
"script": util.MapStr{
|
|
||||||
"source": fmt.Sprintf("ctx._source['status'] = '%s'", task.StatusReady),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
esClient := elastic.GetClient(p.Elasticsearch)
|
|
||||||
_, err := esClient.UpdateByQuery(p.IndexName, util.MustToJSONBytes(queryDsl))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("failed to update sub task status, err: %v", err)
|
log.Errorf("failed to update sub task status, err: %v", err)
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -115,3 +115,44 @@ func UpdatePendingChildTasksToPendingStop(taskItem *task.Task, taskType string)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update status of subtask to ready
|
||||||
|
func UpdateStoppedChildTasksToReady(taskItem *task.Task, taskType string) error {
|
||||||
|
query := util.MapStr{
|
||||||
|
"bool": util.MapStr{
|
||||||
|
"must": []util.MapStr{
|
||||||
|
{
|
||||||
|
"term": util.MapStr{
|
||||||
|
"parent_id": util.MapStr{
|
||||||
|
"value": taskItem.ID,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"terms": util.MapStr{
|
||||||
|
"status": []string{task.StatusError, task.StatusStopped},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"term": util.MapStr{
|
||||||
|
"metadata.type": util.MapStr{
|
||||||
|
"value": taskType,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
queryDsl := util.MapStr{
|
||||||
|
"query": query,
|
||||||
|
"script": util.MapStr{
|
||||||
|
"source": fmt.Sprintf("ctx._source['status'] = '%s'", task.StatusReady),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
err := orm.UpdateBy(taskItem, util.MustToJSONBytes(queryDsl))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue