现在可以只开日志并保留台账更新和进程控制

This commit is contained in:
lnk
2026-03-09 19:55:36 +08:00
parent 748f8481bc
commit d1ed49412c
4 changed files with 73 additions and 35 deletions

View File

@@ -34,6 +34,7 @@ extern apr_pool_t* g_init_pool;
extern int g_DevFlag; //日志配置中读取的参数暂无特定使用lnk20250121
extern int IED_COUNT;
extern int RECALL_ONLY_FLAG; //lnk20260309添加一个全局变量标志是否只运行补招程序
//lnk20250115end
@@ -1418,11 +1419,14 @@ void check_ledger_update()//lnk20250113
//调试用
print_trigger_update_xml(trigger_ledger_update_xml);
//处理台账更新加台账锁lnk20250114
//pthread_mutex_lock(&mtx); printf("ledgerupdate hold lock !!!!!!!!!!!");
process_ledger_update(trigger_ledger_update_xml); //台账更新
//pthread_mutex_unlock(&mtx); printf("ledgerupdate free lock !!!!!!!!!!!");
//处理台账更新添加控制标志
if (RECALL_ONLY_FLAG != 1 || (g_node_id != STAT_DATA_BASE_NODE_ID)) {
process_ledger_update(trigger_ledger_update_xml); //台账更新
}
else{
printf("only process recall config, skip ledger update\n");
DIY_WARNLOG_CODE("process",LOG_CODE_SPACE_ALARM,"【WARN】当前配置为仅日志模式,统计数据进程跳过台账更新");
}
}
// 使用完后释放动态分配的内存

View File

@@ -1457,6 +1457,29 @@ ST_VOID u_mvl_ident_ind (MVL_IND_PEND *indCtrl)
/************************************************************************/
/* getFile */
/*
先向远端发 fopen打开远程文件
拿到这个远程文件会话句柄 frsmid
循环发 fread一块一块把远程文件内容读回来并写入本地文件
最后发 fclose关闭远程文件
clientNetInfo客户端和 MMS 服务器之间的网络连接信息
loc_file本地保存的文件路径
rem_file远端设备上的文件路径
iTimeout每次请求等待响应的超时时间
返回值:
SD_SUCCESS下载成功
其他:失败错误码
*/
/************************************************************************/
ST_RET mms_getFile (MVL_NET_INFO *clientNetInfo, ST_CHAR *loc_file,
ST_CHAR *rem_file, ST_INT iTimeout)

View File

@@ -24,6 +24,7 @@ extern int SOCKET_PORT;
extern int G_TEST_FLAG;
extern int g_front_seg_index;
extern int g_front_seg_num;
extern int RECALL_ONLY_FLAG; //lnk20260309添加一个全局变量标志是否只运行补招程序
#include "../rocketmq/SimpleProducer.h"
#include "../cfg_parse/custom_printf.h"//lnk20250225
@@ -187,42 +188,45 @@ apr_status_t init_rdb()
init_config();
GetServerIndexFromDB();
rv = parse_device_cfg_web();
if (rv != APR_SUCCESS) {
echo_errg("Parsed device config xml file with error,try to run! \n");
//只有补招运行时,统计不读取台账和模型
if (RECALL_ONLY_FLAG != 1 || (g_node_id != STAT_DATA_BASE_NODE_ID)) {
rv = parse_device_cfg_web();
if (rv != APR_SUCCESS) {
echo_errg("Parsed device config xml file with error,try to run! \n");
//char buf[256];
//format_log_msg(buf,sizeof(buf),"前置的%s%d号进程调用web台账接口失败", get_front_msg_from_subdir(), g_front_seg_index);
//log_error("process", buf);
DIY_ERRORLOG_CODE("process",LOG_CODE_LEDGER,"【ERROR】前置的%s%d号进程调用web台账接口失败", get_front_msg_from_subdir(), g_front_seg_index);
//char buf[256];
//format_log_msg(buf,sizeof(buf),"前置的%s%d号进程调用web台账接口失败", get_front_msg_from_subdir(), g_front_seg_index);
//log_error("process", buf);
DIY_ERRORLOG_CODE("process",LOG_CODE_LEDGER,"【ERROR】前置的%s%d号进程调用web台账接口失败", get_front_msg_from_subdir(), g_front_seg_index);
return rv;
}
return rv;
}
//台账读取过后初始化各级的日志
init_loggers();
rv = parse_model_cfg_web();
if (rv != APR_SUCCESS) {//不可能
echo_errg("Parsed model with error,try to run! \n");
//台账读取过后初始化各级的日志
init_loggers();
//char buf[256];
//format_log_msg(buf,sizeof(buf),"前置的%s%d号进程调用web模型接口失败", get_front_msg_from_subdir(), g_front_seg_index);
//log_error("process", buf);
DIY_ERRORLOG_CODE("process",LOG_CODE_ICD_AND_DOWNLOAD,"【ERROR】前置的%s%d号进程调用web模型接口失败", get_front_msg_from_subdir(), g_front_seg_index);
rv = parse_model_cfg_web();
if (rv != APR_SUCCESS) {//不可能
echo_errg("Parsed model with error,try to run! \n");
return rv;
}
//char buf[256];
//format_log_msg(buf,sizeof(buf),"前置的%s%d号进程调用web模型接口失败", get_front_msg_from_subdir(), g_front_seg_index);
//log_error("process", buf);
DIY_ERRORLOG_CODE("process",LOG_CODE_ICD_AND_DOWNLOAD,"【ERROR】前置的%s%d号进程调用web模型接口失败", get_front_msg_from_subdir(), g_front_seg_index);
Set_xml_nodeinfo();//解析xml模型
return rv;
}
rv = parse_rpt_log_ini();//报告块初始化
if (rv != APR_SUCCESS) {
echo_errg("Failed to parse report log define ini file! \n");
Set_xml_nodeinfo();//解析xml模型
DIY_ERRORLOG_CODE("process",LOG_CODE_RPTINIT,"【ERROR】前置的%s%d号进程报告初始化失败", get_front_msg_from_subdir(), g_front_seg_index);
rv = parse_rpt_log_ini();//报告块初始化
if (rv != APR_SUCCESS) {
echo_errg("Failed to parse report log define ini file! \n");
return rv;
DIY_ERRORLOG_CODE("process",LOG_CODE_RPTINIT,"【ERROR】前置的%s%d号进程报告初始化失败", get_front_msg_from_subdir(), g_front_seg_index);
return rv;
}
}
if (app_get_private_config(g_my_conf_fname) != APR_SUCCESS) {