facebook 추가

timeout시 재접속 할수 있도록 수정

git-svn-id: svn://192.168.0.12/source@239 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
admin
2016-01-19 06:47:32 +00:00
parent ef669df7ad
commit f25230c652
7 changed files with 297 additions and 10 deletions

View File

@@ -19,6 +19,8 @@
#include "skakaousermanage.h"
#include "sinstatagmanage.h"
#include "sinstausermanage.h"
#include "sfacebooktagmanage.h"
#include "sfacebookusermanage.h"
#include <QApplication>
#include <QLabel>
@@ -45,6 +47,8 @@ Widget::Widget(QWidget *parent) : QWidget(parent) , m_nMode(E_MODE_WAIT)
m_pKakaoUser = new SKakaoUserManage(this);
m_pInstaTag = new SInstaTagManage(this);
m_pInstaUser = new SInstaUserManage(this);
m_pFacebookTag = new SFacebookTagManage(this);
m_pFacebookUser = new SFacebookUserManage(this);
m_pManage[0] = m_pNaverCafe;
m_pManage[1] = m_pNaverBlog;
@@ -57,6 +61,8 @@ Widget::Widget(QWidget *parent) : QWidget(parent) , m_nMode(E_MODE_WAIT)
m_pManage[8] = m_pKakaoUser;
m_pManage[9] = m_pInstaTag;
m_pManage[10] = m_pInstaUser;
m_pManage[11] = m_pFacebookTag;
m_pManage[12] = m_pFacebookUser;
m_db = QSqlDatabase::addDatabase("QMYSQL");
m_db.setHostName("bigbird.iptime.org");
@@ -149,7 +155,10 @@ void Widget::InsertLog(QString str)
{
QTime time = QTime::currentTime();
QString strOut = time.toString("[hh:mm:ss] ") + str;
m_pResultList->addItem(strOut);
if(strOut.length() <= 1024)
m_pResultList->addItem(strOut);
else
m_pResultList->addItem(strOut.left(1024));
QDate date = QDate::currentDate();
QFile file(date.toString(Qt::ISODate)+ "_" + QString::number(QCoreApplication::applicationPid())+ ".log");
@@ -204,10 +213,18 @@ bool Widget::SetCrawlingState(QString _str)
void Widget::Start()
{
if((!m_db.isOpen()) && (!m_db.open()))
if(!m_db.isOpen())
{
InsertLog("DB is down, retry after a while");
return;
m_db.close();
if(!m_db.open())
{
InsertLog("DB is down, retry after a while");
return;
}
else
{
InsertLog("Reconnect to DB");
}
}
QSqlQuery query;
@@ -216,7 +233,25 @@ void Widget::Start()
"inner join datagroup on crawling.datagroup_id = datagroup.id "
"where crawling.id = '" + m_strCrawlingID + "'");
if (query.next() == false) return;
if (query.next() == false)
{
/*
InsertLog(query.lastError().text());
InsertLog(query.lastQuery());
*/
int err = query.lastError().number();
if (err == 2006 || err == 2013) // Might want to do #2013 here also?
{
m_db.close();
if (!m_db.open())
InsertLog("DB is down, retry after a while");
else
InsertLog("Reconnect to DB");
}
return;
}
qDebug() << m_strCrawlingID;
m_nPlatform = 0;
if(0 <= query.value(6).toInt() && query.value(6).toInt() < C_PLATFORM_MAX)
@@ -264,7 +299,7 @@ void Widget::StopButton()
SetCrawlingState("Stop");
m_strCrawlingID.clear();
//qDebug() << m_nPlatform;
if(4 <= m_nPlatform && m_nPlatform <= 10)
if(4 <= m_nPlatform && m_nPlatform <= 12)
{
m_pManage[m_nPlatform]->clossProcess();
}
@@ -275,15 +310,18 @@ void Widget::Update()
switch(m_nMode)
{
case E_MODE_WAIT:
qDebug() << "MODE : WAIT";
if (m_pcheckboxReal->isChecked())
{
if (m_strCrawlingID.isEmpty() == false)
{
qDebug() << "Start";
Start();
}
}
break;
case E_MODE_RUN:
qDebug() << "MODE : RUN";
if(m_pManage[m_nPlatform]->Update()==true)
m_nMode = E_MODE_WAIT;
break;
@@ -325,6 +363,8 @@ void Widget::RefreshButton()
case 8:str += ", Kakao Story User"; break;
case 9:str += ", Instagram Tag"; break;
case 10:str += ", Instagram User"; break;
case 11:str += ", Facebook Tag"; break;
case 12:str += ", Facebook User"; break;
}
m_pcb->addItem(str,query.value(7));
}