Skip to content

Commit e47fbeb

Browse files
committed
增加db任务队列debug方式。
1 parent 7dd30c3 commit e47fbeb

File tree

2 files changed

+30
-4
lines changed

2 files changed

+30
-4
lines changed

kbe/src/server/dbmgr/buffered_dbtasks.cpp

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ along with KBEngine. If not, see <http://www.gnu.org/licenses/>.
2222
#include "thread/threadpool.hpp"
2323
#include "thread/threadguard.hpp"
2424
#include "dbmgr_lib/db_interface.hpp"
25+
#include "server/serverconfig.hpp"
2526

2627
namespace KBEngine{
2728

@@ -105,6 +106,13 @@ void Buffered_DBTasks::addTask(EntityDBTask* pTask)
105106
EntityDBTask* Buffered_DBTasks::tryGetNextTask(EntityDBTask* pTask)
106107
{
107108
mutex_.lockMutex();
109+
110+
if(g_kbeSrvConfig.getDBMgr().debugDBMgr)
111+
{
112+
DEBUG_MSG(boost::format("Buffered_DBTasks::tryGetNextTask(): finiTask(dbid=%1%, entityID=%2%\ndbidlist=%3%\nentityidlist=%4%\n") %
113+
pTask->EntityDBTask_entityDBID() % pTask->EntityDBTask_entityID() % printBuffered_dbid_() % printBuffered_entityID());
114+
}
115+
108116
EntityDBTask * pNextTask = NULL;
109117

110118
if(pTask->EntityDBTask_entityDBID() <= 0)
@@ -168,6 +176,25 @@ std::string Buffered_DBTasks::printBuffered_dbid()
168176
{
169177
std::string ret;
170178
mutex_.lockMutex();
179+
ret = printBuffered_dbid_();
180+
mutex_.unlockMutex();
181+
return ret;
182+
}
183+
184+
//-------------------------------------------------------------------------------------
185+
std::string Buffered_DBTasks::printBuffered_entityID()
186+
{
187+
std::string ret;
188+
mutex_.lockMutex();
189+
ret = printBuffered_entityID_();
190+
mutex_.unlockMutex();
191+
return ret;
192+
}
193+
194+
//-------------------------------------------------------------------------------------
195+
std::string Buffered_DBTasks::printBuffered_dbid_()
196+
{
197+
std::string ret;
171198

172199
for (DBID_TASKS_MAP::iterator iter = dbid_tasks_.begin(); iter != dbid_tasks_.end(); iter = dbid_tasks_.upper_bound(iter->first))
173200
{
@@ -182,15 +209,13 @@ std::string Buffered_DBTasks::printBuffered_dbid()
182209
ret += (boost::format("%1%:%2%, ") % iter->first % count).str();
183210
}
184211

185-
mutex_.unlockMutex();
186212
return ret;
187213
}
188214

189215
//-------------------------------------------------------------------------------------
190-
std::string Buffered_DBTasks::printBuffered_entityID()
216+
std::string Buffered_DBTasks::printBuffered_entityID_()
191217
{
192218
std::string ret;
193-
mutex_.lockMutex();
194219

195220
for (ENTITYID_TASKS_MAP::iterator iter = entityid_tasks_.begin(); iter != entityid_tasks_.end(); iter = entityid_tasks_.upper_bound(iter->first))
196221
{
@@ -204,7 +229,6 @@ std::string Buffered_DBTasks::printBuffered_entityID()
204229
ret += (boost::format("%1%:%2%, ") % iter->first % count).str();
205230
}
206231

207-
mutex_.unlockMutex();
208232
return ret;
209233
}
210234

kbe/src/server/dbmgr/buffered_dbtasks.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ class Buffered_DBTasks
7777
*/
7878
std::string printBuffered_dbid();
7979
std::string printBuffered_entityID();
80+
std::string printBuffered_dbid_();
81+
std::string printBuffered_entityID_();
8082
protected:
8183
bool hasTask_(DBID dbid);
8284
bool hasTask_(ENTITY_ID entityID);

0 commit comments

Comments
 (0)