acl/app/master/tools/master_guard/main.cpp

65 lines
1.4 KiB
C++

#include "stdafx.h"
#include "master_service.h"
int main(int argc, char* argv[])
{
// 初始化 acl 库
acl::acl_cpp_init();
master_service& ms = acl::singleton2<master_service>::get_instance();
// 设置配置参数表
ms.set_cfg_int(var_conf_int_tab);
ms.set_cfg_int64(var_conf_int64_tab);
ms.set_cfg_str(var_conf_str_tab);
ms.set_cfg_bool(var_conf_bool_tab);
// 开始运行
if (argc >= 2 && strcmp(argv[1], "alone") == 0)
{
// 日志输出至标准输出
acl::log::stdout_open(true);
// 当该值 > 0 时设定定时器被触发的次数限制,即当定时器触发
// 的次数达到此值时,程序退出;否则 (<=0) 则定时器会一直触发
int count = 5;
// 定时器触发的时间间隔(单位为:秒)
int interval = 1;
// 单独运行方式
if (argc >= 3)
ms.run_alone(argv[2], count, interval);
else
ms.run_alone(NULL, count, interval);
printf("Enter any key to exit now\r\n");
getchar();
}
else
{
#ifdef WIN32
// 日志输出至标准输出
acl::log::stdout_open(true);
// 当该值 > 0 时设定定时器被触发的次数限制,即当定时器触发
// 的次数达到此值时,程序退出;否则 (<=0) 则定时器会一直触发
int count = 5;
// 定时器触发的时间间隔(单位为:秒)
int interval = 1;
// 单独运行方式
ms.run_alone(NULL, count, interval);
printf("Enter any key to exit now\r\n");
getchar();
#else
// acl_master 控制模式运行
ms.run_daemon(argc, argv);
#endif
}
return 0;
}