This commit is contained in:
aozhiwei 2020-05-04 12:11:14 +08:00
parent e0d84b73f8
commit 27fc3ab90b
3 changed files with 94 additions and 0 deletions

View File

@ -21,6 +21,7 @@
#include "ss_msgid.pb.h"
#include "ss_proto.pb.h"
#include "playermgr.h"
#include "dbengine.h"
#include "MSConnMgr.h"
#include "IMConnMgr.h"
@ -127,6 +128,7 @@ bool App::Init(int argc, char* argv[])
WSListener::Instance()->Init();
IMListener::Instance()->Init();
PlayerMgr::Instance()->Init();
DBEngine::Instance()->Init();
a8::UdpLog::Instance()->Info("friend_imserver starting instance_id:%d pid:%d ",
{
@ -173,6 +175,7 @@ bool App::Init(int argc, char* argv[])
void App::UnInit()
{
a8::XPrintf("friend_imserver terminating instance_id:%d pid:%d\n", {instance_id, getpid()});
DBEngine::Instance()->UnInit();
PlayerMgr::Instance()->UnInit();
IMListener::Instance()->UnInit();
WSListener::Instance()->UnInit();

View File

@ -0,0 +1,58 @@
#include "precompile.h"
#include "dbengine.h"
void DBEngine::Init()
{
f8::DBPool::Instance()->Init();
f8::DBPool::Instance()->SetThreadNum(16);
}
void DBEngine::UnInit()
{
f8::DBPool::Instance()->UnInit();
}
void DBEngine::ExecAsyncQuery(a8::XObject conn_info,
const char* querystr,
std::vector<a8::XValue> args,
a8::XParams param,
f8::AsyncDBOnOkFunc on_ok,
f8::AsyncDBOnErrorFunc on_error,
long long hash_code)
{
f8::DBPool::Instance()->ExecAsyncQuery(
conn_info,
querystr,
args,
param,
on_ok,
on_error,
hash_code
);
}
void DBEngine::ExecAsyncScript(a8::XObject conn_info,
const char* querystr,
std::vector<a8::XValue> args,
a8::XParams param,
f8::AsyncDBOnOkFunc on_ok,
f8::AsyncDBOnErrorFunc on_error,
long long hash_code)
{
f8::DBPool::Instance()->ExecAsyncScript(
conn_info,
querystr,
args,
param,
on_ok,
on_error,
hash_code
);
}
a8::XObject DBEngine::GetConnInfoByHash(long long hash_code)
{
a8::XObject conn_info;
return conn_info;
}

View File

@ -0,0 +1,33 @@
#pragma once
#include "framework/cpp/dbpool.h"
class DBEngine : public a8::Singleton<DBEngine>
{
private:
DBEngine() {};
friend class a8::Singleton<DBEngine>;
public:
void Init();
void UnInit();
//执行异步并行查询
void ExecAsyncQuery(a8::XObject conn_info,
const char* querystr,
std::vector<a8::XValue> args,
a8::XParams param,
f8::AsyncDBOnOkFunc on_ok,
f8::AsyncDBOnErrorFunc on_error,
long long hash_code = 0);
//执行异步并行sql
void ExecAsyncScript(a8::XObject conn_info,
const char* querystr,
std::vector<a8::XValue> args,
a8::XParams param,
f8::AsyncDBOnOkFunc on_ok,
f8::AsyncDBOnErrorFunc on_error,
long long hash_code = 0);
a8::XObject GetConnInfoByHash(long long hash_code);
};