This commit is contained in:
aozhiwei 2019-06-20 10:23:50 +08:00
parent 70c630575d
commit 465efbdb80
2 changed files with 38 additions and 32 deletions

View File

@ -26,6 +26,8 @@ void GameLog::GameStart(Player* hum)
prop->SetVal("nickname", hum->name);
//prop->SetVal("localuuid", "");
//prop->SetVal("start_param", "");
prop->SetVal("server_node_id", App::Instance()->node_id);
prop->SetVal("server_instance_id", App::Instance()->instance_id);
prop->SetVal("map_id", hum->room->map_meta->i->map_id());
prop->SetVal("map_name", hum->room->map_meta->i->map_name());
@ -57,6 +59,8 @@ void GameLog::GameEnd(Player* hum)
//prop->SetVal("localuuid", "");
prop->SetVal("game_time", a8::XGetTickCount() - hum->create_tick);
//prop->SetVal("start_param", "");
prop->SetVal("server_node_id", App::Instance()->node_id);
prop->SetVal("server_instance_id", App::Instance()->instance_id);
prop->SetVal("map_id", hum->room->map_meta->i->map_id());
prop->SetVal("map_name", hum->room->map_meta->i->map_name());

View File

@ -152,6 +152,38 @@ void RoomMgr::ActiveRoom(long long room_uuid)
void RoomMgr::ReportServerState(int instance_id, const std::string& host, int port)
{
auto on_ok = [] (a8::XParams& param, a8::XObject& data)
{
a8::Timer::Instance()->AddDeadLineTimer(1000,
a8::XParams()
.SetSender(param.sender)
.SetParam1(param.param1)
.SetParam2(param.param2),
[] (const a8::XParams& param)
{
RoomMgr::Instance()->ReportServerState(
param.sender,
param.param1,
param.param2
);
});
};
auto on_error = [] (a8::XParams& param, const std::string& response)
{
a8::Timer::Instance()->AddDeadLineTimer(1000,
a8::XParams()
.SetSender(param.sender)
.SetParam1(param.param1)
.SetParam2(param.param2),
[] (const a8::XParams& param)
{
RoomMgr::Instance()->ReportServerState(
param.sender,
param.param1,
param.param2
);
});
};
std::string url = a8::Format("http://%s:%d/webapp/index.php?c=GS&a=report&",
{
host,
@ -169,38 +201,8 @@ void RoomMgr::ReportServerState(int instance_id, const std::string& host, int po
.SetSender(instance_id)
.SetParam1(host)
.SetParam2(port),
[] (a8::XParams& param, a8::XObject& data)
{
a8::Timer::Instance()->AddDeadLineTimer(1000,
a8::XParams()
.SetSender(param.sender)
.SetParam1(param.param1)
.SetParam2(param.param2),
[] (const a8::XParams& param)
{
RoomMgr::Instance()->ReportServerState(
param.sender,
param.param1,
param.param2
);
});
},
[] (a8::XParams& param, const std::string& response)
{
a8::Timer::Instance()->AddDeadLineTimer(1000,
a8::XParams()
.SetSender(param.sender)
.SetParam1(param.param1)
.SetParam2(param.param2),
[] (const a8::XParams& param)
{
RoomMgr::Instance()->ReportServerState(
param.sender,
param.param1,
param.param2
);
});
},
on_ok,
on_error,
url.c_str(),
*url_params,
rand()