From 215812043974ebf84e85dfc60f7cb44814db4e94 Mon Sep 17 00:00:00 2001 From: Eli de Faria Junior Date: Fri, 26 Sep 2014 17:17:26 -0300 Subject: [PATCH] concerto de bugs --- cacic-daemon/cacicD/cacicd.cpp | 6 +++--- cacic-daemon/cacicD/cacictimer.cpp | 66 ++++++++++++++++++++++++++++++++++++++---------------------------- gercols/gercols.pro | 2 -- src/cacic_comm.cpp | 3 ++- src/ccacic.h | 4 ---- 5 files changed, 43 insertions(+), 38 deletions(-) diff --git a/cacic-daemon/cacicD/cacicd.cpp b/cacic-daemon/cacicD/cacicd.cpp index 696efec..350b44f 100644 --- a/cacic-daemon/cacicD/cacicd.cpp +++ b/cacic-daemon/cacicD/cacicd.cpp @@ -38,14 +38,14 @@ void cacicD::start() { QJsonObject agenteConfigJson = result["agentcomputer"].toObject(); QJsonObject configuracoes = agenteConfigJson["configuracoes"].toObject(); - //o valor nu_intervalo_exec vem em horas. Se não me engano, o valor que o timer aceita é em segundos,por isso 3600 - Ocacictimer->setPeriodicidadeExecucao(configuracoes["nu_intervalo_exec"].toInt() * 3600); + //o valor nu_intervalo_exec vem em minutos. O valor que o timer aceita é em milisegundos,por isso 60000 + Ocacictimer->setPeriodicidadeExecucao(configuracoes["nu_intervalo_exec"].toString().toInt() * 60000); Ocacictimer->iniciarTimer(); }else{ //Iniciar com um timer default (4 horas), pra não ficar freezado pra sempre. QLogger::QLog_Error("Cacic Daemon", QString("Problemas com o arquivo getConfig.json")); QLogger::QLog_Info("Cacic Daemon", QString("Inicializando periodicidade de execução do serviço com tempo padrão.")); - + Ocacictimer->setPeriodicidadeExecucao(14400000); // 14400000 = 4horas (valor padrão) Ocacictimer->iniciarTimer(); } }catch (...){ diff --git a/cacic-daemon/cacicD/cacictimer.cpp b/cacic-daemon/cacicD/cacictimer.cpp index 4f4c23e..a8562d5 100644 --- a/cacic-daemon/cacicD/cacictimer.cpp +++ b/cacic-daemon/cacicD/cacictimer.cpp @@ -29,6 +29,12 @@ void CacicTimer::iniciarTimer() void CacicTimer::mslot(){ try{ verificarPeriodicidadeJson(); + bool ok; + QJsonObject resposta = OCacicComm->login(&ok); + if(resposta.isEmpty() || resposta.contains("error")){ + //de vez enquando a conexão da erro, é bom tentar 2 vezes pra garantir. + resposta = OCacicComm->login(&ok); + } }catch (...){ QLogger::QLog_Info("Cacic Daemon (Timer)", QString("Não foi possivel verificar a periodicidade no getConfig.json")); } @@ -38,21 +44,20 @@ void CacicTimer::mslot(){ QLogger::QLog_Info("Cacic Daemon (Timer)", QString("getTeste() success.")); if(getConfig()){ QLogger::QLog_Info("Cacic Daemon (Timer)", QString("getConfig() success.")); - QStringList nomesModulos = verificarModulos(); - - if ( !nomesModulos.empty() ) { - foreach( QString nome, nomesModulos ) { - definirDirModulo(getApplicationDirPath(), nome); - iniciarModulo(getDirProgram()); - - if(nome == "cacic-gercols"){ - //Envio do json gerado na coleta - bool ok; - QJsonObject jsonColeta = ccacic->getJsonFromFile("coleta.json"); - OCacicComm->comm("/ws/neo/coleta", &ok, jsonColeta ); - } - } - } + //QStringList nomesModulos = verificarModulos(); + //if ( !nomesModulos.empty() ) { + // foreach( QString nome, nomesModulos ) { + definirDirModulo(getApplicationDirPath(), "gercols"); + iniciarModulo(getDirProgram()); + + // if(nome == "gercols"){ + // // Envio do json gerado na coleta + // bool ok; + // QJsonObject jsonColeta = ccacic->getJsonFromFile("coleta.json"); + // OCacicComm->comm("/ws/neo/coleta", &ok, jsonColeta ); + // } + // } + //} }else{ qDebug() << "getConfig() failed. - " + QDateTime::currentDateTime().toLocalTime().toString(); QLogger::QLog_Error("Cacic Daemon (Timer)", "Falha na obtenção do arquivo de configuração."); @@ -74,10 +79,13 @@ bool CacicTimer::getTest(){ bool ok; QJsonObject as; as["computador"] = OCacic_Computer.toJsonObject(); - QJsonObject jsonresult = OCacicComm->comm("/ws/neo/test", &ok, as); - // if(jsonresult.contains("error")){ - // return false; - // } + QJsonObject jsonresult = OCacicComm->comm("/ws/neo/getTest", &ok, as, false); + if(!ok){ + jsonresult = OCacicComm->comm("/ws/neo/getTest", &ok, as, false); // mais uma vez pra garantir. + } + if(jsonresult.contains("error")){ + return false; + } try{ ccacic->setJsonToFile(jsonresult.contains("reply") ? jsonresult["reply"].toObject() : jsonresult, this->applicationDirPath + "/getTest.json"); @@ -97,10 +105,13 @@ bool CacicTimer::getConfig(){ bool ok; QJsonObject as; as["computador"] = OCacic_Computer.toJsonObject(); - QJsonObject jsonresult = OCacicComm->comm("/ws/neo/config", &ok, as); - // if(jsonresult.contains("error")){ - // return false; - // } + QJsonObject jsonresult = OCacicComm->comm("/ws/neo/config", &ok, as, false); + if(!ok){ + jsonresult = OCacicComm->comm("/ws/neo/config", &ok, as, false); // mais uma vez pra garantir. + } + if(jsonresult.contains("error")){ + return false; + } try{ ccacic->setJsonToFile(jsonresult.contains("reply") ? jsonresult["reply"].toObject() : jsonresult, this->applicationDirPath + "/getConfigNew.json"); @@ -182,7 +193,6 @@ void CacicTimer::iniciarModulo(QString modulo) if((proc.atEnd()) && (proc.exitStatus() == QProcess::NormalExit)){ registraFimColeta("SUCESSO"); }else{ - proc.waitForFinished(120000); if((!proc.atEnd()) || (proc.exitStatus() == QProcess::CrashExit)){ registraFimColeta("ERRO"); proc.kill(); @@ -221,7 +231,8 @@ void CacicTimer::iniciarInstancias(){ timer = new QTimer(this); cMutex = new QMutex(QMutex::Recursive); OCacicComm = new CacicComm(); - OCacicComm->setUrlSsl("https://10.1.0.137/cacic/web/app_dev.php"); + OCacicComm->setUrlSsl("https://teste.cacic.cc"); + OCacicComm->setUrlGerente("teste.cacic.cc"); OCacicComm->setUsuario("cacic"); OCacicComm->setPassword("cacic123"); } @@ -230,11 +241,10 @@ void CacicTimer::verificarPeriodicidadeJson() { QJsonObject result = ccacic->getJsonFromFile(this->applicationDirPath + "/getConfig.json"); if(!result.contains("error") && !result.isEmpty()){ - QJsonObject agenteConfigJson = result["agentcomputer"].toObject(); QJsonObject configuracoes = agenteConfigJson["configuracoes"].toObject(); - if(getPeriodicidadeExecucao() != configuracoes["nu_intervalo_exec"].toInt()){ - setPeriodicidadeExecucao(configuracoes["nu_intervalo_exec"].toInt() * 3600); + if(getPeriodicidadeExecucao() != configuracoes["nu_intervalo_exec"].toString().toInt()){ + setPeriodicidadeExecucao(configuracoes["nu_intervalo_exec"].toString().toInt() * 60000); reiniciarTimer(); } }else{ diff --git a/gercols/gercols.pro b/gercols/gercols.pro index 69562c7..40204c2 100644 --- a/gercols/gercols.pro +++ b/gercols/gercols.pro @@ -57,5 +57,3 @@ INCLUDEPATH += ../src \ ../src/crypto++/include/ DEFINES += STATIC - message("Static build.") -} diff --git a/src/cacic_comm.cpp b/src/cacic_comm.cpp index 36a8af9..e937c30 100644 --- a/src/cacic_comm.cpp +++ b/src/cacic_comm.cpp @@ -44,7 +44,8 @@ QJsonObject CacicComm::comm(QString route, bool *ok, const QJsonObject &json, bo } req.setSslConfiguration(QSslConfiguration::defaultConfiguration()); } else - url = "http://" + urlGerente + route; + url = "http://" + this->urlGerente + route; + req.setUrl(url); req.setHeader(QNetworkRequest::LocationHeader, "Cacic Agente"); if (json.empty()){ diff --git a/src/ccacic.h b/src/ccacic.h index 81e5edd..c4125f1 100644 --- a/src/ccacic.h +++ b/src/ccacic.h @@ -17,10 +17,6 @@ #include "../src/crypto++/include/aes.h" #include "../src/crypto++/include/base64.h" #include "../src/crypto++/include/modes.h" -//#include -//#include -//#include -//#include class CCacic { -- libgit2 0.21.2