add stopservice startservice api

This commit is contained in:
aozhiwei 2019-05-30 10:09:59 +08:00
parent 6d9bacf661
commit 6808386408
3 changed files with 29 additions and 1 deletions

View File

@ -63,6 +63,9 @@ public:
int instance_id = 0;
bool is_test_mode = false;
int test_param = 0;
bool servicing = true;
private:
/*
1:
2:

View File

@ -18,6 +18,7 @@ static void _GMOpsSelfChecking(f8::JsonHttpRequest* request)
request->resp_xobj->SetVal("errcode", 0);
request->resp_xobj->SetVal("errmsg", "");
request->resp_xobj->SetVal("healthy", 1);
request->resp_xobj->SetVal("servicing", App::Instance()->servicing ? 1 : 0);
request->resp_xobj->SetVal("max_rundelay", App::Instance()->perf.max_run_delay_time);
request->resp_xobj->SetVal("max_timer_idle", App::Instance()->perf.max_timer_idle);
}
@ -30,12 +31,35 @@ static void _GMOpsReload(f8::JsonHttpRequest* request)
a8::UdpLog::Instance()->Warning("reload config files", {});
}
static void _GMOpsStopService(f8::JsonHttpRequest* request)
{
request->resp_xobj->SetVal("errcode", 0);
request->resp_xobj->SetVal("errmsg", "");
App::Instance()->servicing = false;
}
static void _GMOpsStartService(f8::JsonHttpRequest* request)
{
request->resp_xobj->SetVal("errcode", 0);
request->resp_xobj->SetVal("errmsg", "");
App::Instance()->servicing = true;
}
static void _GMOpsOnlineUserNum(f8::JsonHttpRequest* request)
{
request->resp_xobj->SetVal("errcode", 0);
request->resp_xobj->SetVal("errmsg", "");
request->resp_xobj->SetVal("user_num", App::Instance()->perf.entity_num[ET_Player]);
}
void HandlerMgr::Init()
{
RegisterNetMsgHandlers();
RegisterGMMsgHandler("Ops@selfChecking", _GMOpsSelfChecking);
RegisterGMMsgHandler("Ops@reload", _GMOpsReload);
// RegisterGMMsgHandler("Ops@shutdown", _GMOpsShutdown);
RegisterGMMsgHandler("Ops@stopService", _GMOpsStopService);
RegisterGMMsgHandler("Ops@startService", _GMOpsStartService);
RegisterGMMsgHandler("Ops@onlineUserNum", _GMOpsOnlineUserNum);
}
void HandlerMgr::UnInit()

View File

@ -200,6 +200,7 @@ void RoomMgr::ReportServerState(int instance_id, const std::string& host, int po
url_params->SetVal("port", JsonDataMgr::Instance()->listen_port);
url_params->SetVal("online_num", PlayerMgr::Instance()->OnlineNum());
url_params->SetVal("room_num", RoomNum());
url_params->SetVal("servicing", App::Instance()->servicing ? 1 : 0);
f8::HttpClientPool::Instance()->HttpGet(a8::XParams()
.SetSender(instance_id)
.SetParam1(host)