add mq log and add test type in test mod

This commit is contained in:
lnk
2025-05-28 16:09:15 +08:00
parent 8bc9f3c5e8
commit 59ea59f918
11 changed files with 327 additions and 123 deletions

View File

@@ -141,7 +141,7 @@ void DeletcRecallXml();
/*lnk10-11*////////////////////////////////////////////////////////////////////////
void rocketmq_test();
void rocketmq_test_300(int mpnum,int front_index);
void rocketmq_test_300(int mpnum,int front_index,int type);
void SOEFileWeb_test();
void qvvr_test();
void comflag_test();

View File

@@ -149,6 +149,14 @@ void CloseIECReports(chnl_usr_t *chnl_usr)
void closeChannel(chnl_usr_t *chnl_usr)
{
//终端日志的key,lnk20250526
char full_key_t_c[256]; // 分配足够空间
char full_key_t_d[256]; // 分配足够空间
snprintf(full_key_t_c, sizeof(full_key_t_c), "terminal.%s.COM", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id);
snprintf(full_key_t_d, sizeof(full_key_t_d), "terminal.%s.DATA", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id);
//终端日志的key,lnk20250526
char comm_str[256];
memset(comm_str,0,256);
apr_snprintf(comm_str,sizeof(comm_str),"%16s:%d\t\tdisconnected !!!",chnl_usr->ip_str,chnl_usr->chnl->port);
@@ -176,6 +184,8 @@ void closeChannel(chnl_usr_t *chnl_usr)
ret = mms_disconnectFromServer(chnl_usr->net_info,&chnl_usr->m_reqCtrl);
echo_warn("---------end disconnectFromServer!\n");
DIY_WARNLOG(full_key_t_c,"【WARN】前置与终端%s - ip端口%s:%d 断开连接", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
if (ret != SD_SUCCESS){
echo_warn("---------disconnectFromServer success!\n");
@@ -705,7 +715,8 @@ void check_3s_config()
if ( fabs(now - last_check_3s_config_time) < 3*1000 ) //wait 3secs //当前进程任务执行时查看当前时间和上次执行时间间隔小于3秒不执行大于等于3秒往下执行
return;
printf("begin 3s config...\n");
//调试用
//printf("begin 3s config...\n");
last_check_3s_config_time = now; //记录本次运行时间
while (APR_SUCCESS==parse_3s_xml(&trigger_3s_xml)){ //处理3秒文件一次处理一个
@@ -1246,8 +1257,6 @@ void check_ledger_update()//lnk20250113
//每次都初始化防止重复
memset(trigger_ledger_update_xml, 0, sizeof(trigger_update_xml_t));
//printf("check ledger update...trigger_ledger_update_xml:%d\n",trigger_ledger_update_xml->modify_update_num);//减少不必要的打印
last_check_3s_config_time = now; //记录本次运行时间
@@ -1303,7 +1312,7 @@ void check_disk_quota()
static double last_check_time = -10000000.0;
uint32_t freeSizeMB,totalSizeMB;
if(g_node_id != STAT_DATA_BASE_NODE_ID)
if(g_node_id != STAT_DATA_BASE_NODE_ID || g_front_seg_index != 1)//lnk20250527只有稳态进程1监测磁盘
return;
now = sGetMsTime();
if ( fabs(now - last_check_time) < 15*1000 ) //wait 15 secs
@@ -1314,11 +1323,17 @@ void check_disk_quota()
freeSizeMB = get_freedisk_MB(&totalSizeMB);
//printf("Current user disk free size: %dMB ,total size: %dMB \n",freeSizeMB,totalSizeMB);
if (freeSizeMB<g_min_free_size)
if (freeSizeMB<g_min_free_size){
echo_warn2("Current user disk free size: %dMB < %dMB, please check!\n",freeSizeMB,g_min_free_size);
if ((freeSizeMB/(totalSizeMB/100+1) )<10)
DIY_WARNLOG("process","前置磁盘检测: 当前磁盘的可用空间为%dMB,小于最小可用空间%dMB,请检查磁盘",freeSizeMB,g_min_free_size);
}
if ((freeSizeMB/(totalSizeMB/100+1) )<10){
echo_warn2("Current user disk free size percent < 10%%, free size: %dMB ,total size: %dMB ,please check!\n",
freeSizeMB,totalSizeMB);
DIY_WARNLOG("process","前置磁盘检测: 当前磁盘的可用空间的百分比小于10%%,可用空间为%dMB,总空间为%dMB,请检查磁盘",freeSizeMB,totalSizeMB);
}
}
void create_recall_xml()
@@ -1414,6 +1429,13 @@ void CheckNextNotConnectedChannel()
chnl_total_no = (chnl_total_no+1) % g_pt61850app->chnl_counts;
} while ( (g_onlyIP[0]!=0) && (strcmp(g_onlyIP,chnl_usr->ip_str)!=0) );
//终端日志的key,lnk20250526
char full_key_t_c[256]; // 分配足够空间
char full_key_t_d[256]; // 分配足够空间
snprintf(full_key_t_c, sizeof(full_key_t_c), "terminal.%s.COM", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id);
snprintf(full_key_t_d, sizeof(full_key_t_d), "terminal.%s.DATA", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id);
//终端日志的key,lnk20250526
//10-11-01 22:03 beijing
if( ( (chnl_total_no+1)==g_pt61850app->chnl_counts) || (g_onlyIP[0]!=0) ){
if(g_pt61850app->initNum<255)
@@ -1435,6 +1457,10 @@ void CheckNextNotConnectedChannel()
echo_warn4("\nCHANNEL_CONNECTED %s:%d ,NetInfo= %x chnl_usr= %x \n",
chnl_usr->ip_str,chnl_usr->chnl->port,chnl_usr->net_info,chnl_usr);
//mq日志
DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip端口:%s:%d连接成功", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
mvl_free_req_ctrl(chnl_usr->m_reqCtrl);
chnl_usr->m_reqCtrl = NULL;
@@ -1474,7 +1500,11 @@ void CheckNextNotConnectedChannel()
ied_usr_t* ied_usr = (ied_usr_t*)chnl_usr->chnl->ied->usr_ext;
printf( "reqCtrl->result == FAIL, Since StartConnecting %i sec ,channel IP %s:%d \n",secsSince,chnl_usr->ip_str,chnl_usr->chnl->port);
printf( "reqCtrl->result == FAIL, Since StartConnecting %i sec ,channel IP %s:%d \n",secsSince,chnl_usr->ip_str,chnl_usr->chnl->port);
//mq日志
DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip/端口:%s:%d - 识别码/秘钥:%s/%s,从开始连接到目前已经%i秒,连接失败,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_series,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_key,secsSince);
mvl_free_req_ctrl(chnl_usr->m_reqCtrl);
chnl_usr->m_reqCtrl = NULL;
chnl_usr->net_info->rem_vmd = NULL;
@@ -1489,7 +1519,11 @@ void CheckNextNotConnectedChannel()
{
ied_usr_t* ied_usr = (ied_usr_t*)chnl_usr->chnl->ied->usr_ext;
echo_warn2( "reqCtrl->done未完成,but time over 300 secs, close channel IP %s,NetInfo= %x ",chnl_usr->ip_str,chnl_usr->net_info);
echo_warn2( "reqCtrl->done未完成,but time over 300 secs, close channel IP %s,NetInfo= %x ",chnl_usr->ip_str,chnl_usr->net_info);
//mq日志
DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip端口:%s:%d,从开始连接到目前已经300秒,未能获取连接响应,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
if (chnl_usr->net_info->req_pend_list) {
echo_warn("reqCtrl->done未完成,but time over 300 secs!!!!!!!!\n");
mvl_free_req_ctrl(chnl_usr->m_reqCtrl);
@@ -1516,6 +1550,10 @@ void CheckNextNotConnectedChannel()
ied_usr_t *ied_usr = (ied_usr_t*)chnl_usr->chnl->ied->usr_ext;
apr_snprintf(serverARName,sizeof(serverARName),"%s:%d",chnl_usr->ip_str,chnl_usr->chnl->port);
if (chnl_usr->chnl->ied->cpucount != NULL && chnl_usr->chnl->ied->cpucount > 0 && ied_usr->dev_flag == ENABLE) {//2023-09-26 czy 如果line count<0 不需要连接//lnk20250121如果终端无效则不连接
//mq日志
//DIY_WARNLOG(full_key_t_c,"【WARN】重新连接终端%s - ip端口:%s:%d", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
ret = mms_connectToServer(ied_usr->dev_key, ied_usr->dev_series, serverARName, &(chnl_usr->net_info), &(chnl_usr->m_reqCtrl));
if (ret == SD_SUCCESS)
@@ -1525,6 +1563,9 @@ void CheckNextNotConnectedChannel()
chnl_usr->m_state = CHANNEL_CONNECTING;
chnl_usr->m_StartConnectingTime = sGetMsTime();
//mq日志
DIY_WARNLOG(full_key_t_c,"【WARN】正在重新连接终端%s - ip端口:%s:%d - 识别码/秘钥:%s/%s", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_series,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_key);
}
else
@@ -1533,6 +1574,9 @@ void CheckNextNotConnectedChannel()
chnl_usr->m_ClosedMsTime = sGetMsTime();
echo_warn3("FAILED: mms_connectToServer IP %s:%d ,NetInfo= %x \n", chnl_usr->ip_str, chnl_usr->chnl->port, chnl_usr->net_info);
//mq日志
DIY_WARNLOG(full_key_t_c,"【WARN】重新连接终端%s - ip端口:%s:%d 失败!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
}
}
@@ -1559,6 +1603,9 @@ void CheckNextNotConnectedChannel()
apr_time_t t_now = apr_time_now();
connectlog_pgsql(ied_usr->terminal_id,convertMsToDateTimeString(t_now),0);
//mq日志
DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip端口:%s:%d 断连完成,关闭连接通道", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
}
else
{
@@ -1582,6 +1629,10 @@ void CheckNextNotConnectedChannel()
ied_usr_t* ied_usr = (ied_usr_t*)chnl_usr->chnl->ied->usr_ext;
apr_time_t t_now = apr_time_now();
connectlog_pgsql(ied_usr->terminal_id,convertMsToDateTimeString(t_now),0);
//mq日志
DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip端口:%s:%d 断连未完成,但是已经超时180秒,关闭连接通道", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port);
}
}
}

View File

@@ -386,9 +386,7 @@ static void* APR_THREAD_FUNC rtdb_worker(apr_thread_t* thd, void* data)
pthread_mutex_unlock(&mtx);
check_disk_quota();//判断磁盘空间
apr_pool_clear(g_pt61850app->tmp_pool);//清除临时缓存
g_dead_lock_counter = 0;
g_thread_blocked_times = 0;//监控线程
}