diff --git a/CrawlerList/widget.cpp b/CrawlerList/widget.cpp index b367612..e5bdc8b 100644 --- a/CrawlerList/widget.cpp +++ b/CrawlerList/widget.cpp @@ -17,6 +17,7 @@ Widget::Widget(QWidget *parent) : QWidget(parent) , m_nMode(E_MODE_WAIT) { connect(&m_timer, SIGNAL(timeout()), this, SLOT(Update())); + connect(&m_timerAlive, SIGNAL(timeout()), this, SLOT(Alive())); QVBoxLayout *vlayout = new QVBoxLayout; { m_pResultList = new QListWidget; @@ -39,8 +40,7 @@ Widget::Widget(QWidget *parent) : QWidget(parent) , m_nMode(E_MODE_WAIT) m_db.setUserName("admin"); m_db.setPassword("admin123"); m_db.setDatabaseName("concepters"); - m_db.setConnectOptions("CLIENT_INTERACTIVE=999999999;"); - m_db.setConnectOptions("MYSQL_OPT_RECONNECT=true;"); + //m_db.setConnectOptions("MYSQL_OPT_RECONNECT=1"); if (!m_db.open()) { InsertLog("MySql Error..."); @@ -52,7 +52,8 @@ Widget::Widget(QWidget *parent) : QWidget(parent) , m_nMode(E_MODE_WAIT) setWindowTitle("CrawlerList " + QString::number(QCoreApplication::applicationPid())); RefreshButton(); - m_timer.start(1000); + m_timer.start(1000); + m_timerAlive.start(60*60000); } Widget::~Widget() @@ -232,15 +233,6 @@ void Widget::StopButton() void Widget::Update() { - if (m_db.isOpen() == false) - { - if (m_db.open() == false) - { - InsertLog("MySql Open Error..."); - InsertLog(m_db.lastError().text()); - return; - } - } switch(m_nMode) { case E_MODE_WAIT: @@ -254,9 +246,17 @@ void Widget::Update() if(m_pManage[m_nPlatform]->Update()==true) m_nMode = E_MODE_WAIT; break; - } + } } +void Widget::Alive() +{ + QSqlQuery query; + query.exec("SELECT 1"); + query.next(); +} + + void Widget::RefreshButton() { m_pcb->clear(); diff --git a/CrawlerList/widget.h b/CrawlerList/widget.h index d11456e..c2d532d 100644 --- a/CrawlerList/widget.h +++ b/CrawlerList/widget.h @@ -40,7 +40,7 @@ public: private: QLineEdit *m_pedUntilPage; - QTimer m_timer; + QTimer m_timer,m_timerAlive; QSqlDatabase m_db; static const int C_PLATFORM_MAX = 4; SManage *m_pManage[C_PLATFORM_MAX]; @@ -66,6 +66,7 @@ private slots: void StartButton(); void StopButton(); void Update(); + void Alive(); }; #endif // WIDGET_H