fix recall fail crash
This commit is contained in:
@@ -2347,7 +2347,7 @@ void process_recall_config(recall_xml_t* recall_xml)
|
|||||||
LD_info->autorecall[j]->need_voltage = recall[j].need_voltage;
|
LD_info->autorecall[j]->need_voltage = recall[j].need_voltage;
|
||||||
|
|
||||||
}
|
}
|
||||||
LD_info->autorecallflag = 0;
|
LD_info->autorecallflag = 0;//这个监测点刚读取到补招文件,重置正在补招标志
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -6121,7 +6121,7 @@ void rocketmq_test_300(int mpnum,int front_index,int type) {
|
|||||||
// 循环发送 300 条消息
|
// 循环发送 300 条消息
|
||||||
if(type == 0){
|
if(type == 0){
|
||||||
std::cout << " use ledger send msg " << std::endl;
|
std::cout << " use ledger send msg " << std::endl;
|
||||||
for (int i = 0; (total_messages > 0 && g_front_seg_index == 1 && g_node_id == 100) && i < g_node->n_clients; ++i) {
|
for (int i = 0; (total_messages > 0 && g_node_id == 100) && i < g_node->n_clients; ++i) {//台账模拟不限制进程号
|
||||||
|
|
||||||
ied = (ied_t*)g_node->clients[i];
|
ied = (ied_t*)g_node->clients[i];
|
||||||
if(ied != NULL){
|
if(ied != NULL){
|
||||||
|
|||||||
@@ -481,12 +481,13 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
|||||||
|
|
||||||
Check_Recall_Config(LD_info->mp_id);//尝试获取xml结构
|
Check_Recall_Config(LD_info->mp_id);//尝试获取xml结构
|
||||||
|
|
||||||
|
//补招数量不为0且不是正在补招
|
||||||
if (LD_info->autorecallcount != 0 && LD_info->autorecallflag != 1) {
|
if (LD_info->autorecallcount != 0 && LD_info->autorecallflag != 1) {
|
||||||
int i;
|
int i;
|
||||||
int failed_count = 0;
|
int failed_count = 0;
|
||||||
for (i = 0; i < LD_info->autorecallcount; i++) {
|
for (i = 0; i < LD_info->autorecallcount; i++) {
|
||||||
|
|
||||||
LD_info->autorecallflag = 1;
|
LD_info->autorecallflag = 1;//正在补招
|
||||||
|
|
||||||
//当前不区分稳态和暂态lnk20241030,如果做区分修改:Check_Recall_Config从xml文件获取数据后,赋值给了LD_info
|
//当前不区分稳态和暂态lnk20241030,如果做区分修改:Check_Recall_Config从xml文件获取数据后,赋值给了LD_info
|
||||||
loginfo->need_steady = LD_info->autorecall[i]->need_steady; loginfo->need_voltage = LD_info->autorecall[i]->need_voltage;
|
loginfo->need_steady = LD_info->autorecall[i]->need_steady; loginfo->need_voltage = LD_info->autorecall[i]->need_voltage;
|
||||||
@@ -505,7 +506,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
|||||||
LD_info->ied->id, LD_info->cpuno, LD_info->LD_name, loginfo->logName, chnl_usr->ip_str, chnl_usr->chnl_id);
|
LD_info->ied->id, LD_info->cpuno, LD_info->LD_name, loginfo->logName, chnl_usr->ip_str, chnl_usr->chnl_id);
|
||||||
|
|
||||||
//mq日志
|
//mq日志
|
||||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s开始补招数据", LD_info->name,LD_info->mp_id);
|
//DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s开始补招数据", LD_info->name,LD_info->mp_id);
|
||||||
|
|
||||||
ret = mms_jread(loginfo, chnl_usr->net_info, loginfo->LD_info->LD_name, loginfo->logName,
|
ret = mms_jread(loginfo, chnl_usr->net_info, loginfo->LD_info->LD_name, loginfo->logName,
|
||||||
loginfo->start_time, loginfo->end_time, g_pt61850app->mmsOpTimeout, chnl_usr->ip_str);
|
loginfo->start_time, loginfo->end_time, g_pt61850app->mmsOpTimeout, chnl_usr->ip_str);
|
||||||
@@ -514,7 +515,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
|||||||
LD_info->ied->id, LD_info->cpuno, LD_info->LD_name, loginfo->logName, chnl_usr->ip_str, chnl_usr->chnl_id);
|
LD_info->ied->id, LD_info->cpuno, LD_info->LD_name, loginfo->logName, chnl_usr->ip_str, chnl_usr->chnl_id);
|
||||||
|
|
||||||
//mq日志
|
//mq日志
|
||||||
DIY_ERRORLOG(full_key_m_c,"【ERROR】监测点:%s - id:%s补招数据失败", LD_info->name,LD_info->mp_id);
|
DIY_ERRORLOG(full_key_m_c,"【ERROR】监测点:%s - id:%s补招数据失败 - 失败时间点:%lld 至 %lld", LD_info->name,LD_info->mp_id,loginfo->start_time,loginfo->end_time);
|
||||||
|
|
||||||
failed_count++;
|
failed_count++;
|
||||||
}
|
}
|
||||||
@@ -534,9 +535,10 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
|||||||
printf("end mms_jread................................\n");
|
printf("end mms_jread................................\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (failed_count==0) {//成功
|
//不管是否成功,这个补招文件必须删除,可能出现一直失败,循环读取文件和循环补招导致程序崩溃202050724lnk
|
||||||
|
//if (failed_count==0) {//成功
|
||||||
Delete_recall_Xml(LD_info->mp_id);
|
Delete_recall_Xml(LD_info->mp_id);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1371,7 +1373,7 @@ void Check_Recall_Config(char *id) //检查补招配置文件Recall.xml
|
|||||||
|
|
||||||
recall_xml_t recall_xml;
|
recall_xml_t recall_xml;
|
||||||
memset((char*)&recall_xml, 0, sizeof(recall_xml_t));
|
memset((char*)&recall_xml, 0, sizeof(recall_xml_t));
|
||||||
parse_recall_xml(&recall_xml,id); //解析补招文件
|
parse_recall_xml(&recall_xml,id); //解析补招文件,目录下所有属于这个监测点的文件都读取
|
||||||
process_recall_config(&recall_xml); //解析的补招数据赋值到全局变量
|
process_recall_config(&recall_xml); //解析的补招数据赋值到全局变量
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user