diff options
| author | wangkuan <[email protected]> | 2021-01-04 11:33:20 +0800 |
|---|---|---|
| committer | wangkuan <[email protected]> | 2021-01-04 11:33:20 +0800 |
| commit | 7f6884f6f75ed8ad3eb3336f4f9896066cc41285 (patch) | |
| tree | 5584d3e27f78812cd5501dfd7d8a1eee265765b0 | |
| parent | 748e36cffb446568b0089b455f2eceda3c883a52 (diff) | |
操作数据库时间过长导致bug
| -rw-r--r-- | config/application.properties | 2 | ||||
| -rw-r--r-- | pom.xml | 4 | ||||
| -rw-r--r-- | src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java | 35 | ||||
| -rw-r--r-- | src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java | 34 |
4 files changed, 40 insertions, 35 deletions
diff --git a/config/application.properties b/config/application.properties index 94a07e1..197e63f 100644 --- a/config/application.properties +++ b/config/application.properties @@ -7,7 +7,7 @@ globle.job_thread=2 #Hbasehttp�Ķ˿� #Hbase�ı���������ͨ������Ҫ���� hbase.table=tsg:report_result -hbase.zookeeper_quorum=192.168.10.222,192.168.10.223 +hbase.zookeeper_quorum=192.168.44.12 hbase.zookeeper_property_clientPort=2181 hbase.zookeeper_znode_parent=/hbase hbase.client_retries_number=3 @@ -10,7 +10,7 @@ </parent> <groupId>com.mesa</groupId> <artifactId>galaxy-report-service</artifactId> - <version>20.12.03</version> + <version>20.12.20</version> <name>galaxy-report-service</name> <description>Demo project for Spring Boot</description> @@ -219,7 +219,7 @@ <forceTags>true</forceTags> <imageTags> - <imageTag>20.12.03</imageTag> + <imageTag>20.12.20</imageTag> </imageTags> <!--远程docker构建,供dockerfile使用--> <dockerHost>http://192.168.40.153:2375</dockerHost> diff --git a/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java b/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java index b5ca8b9..387f403 100644 --- a/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java +++ b/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java @@ -48,8 +48,6 @@ public class ScheduledResultController { for (JobEntity jobEntity : joblist) { String sql = jobEntity.getQuerySql().trim(); sql = sql.replace("$exe_time", "toDateTime('" + jobEntity.getIssuedTime().trim() + "')"); - sql = sql.replace("$start_time", "toDateTime('" + jobEntity.getStartTime().trim() + "')"); - sql = sql.replace("$end_time", "toDateTime('" + jobEntity.getEndTime().trim() + "')"); String queryid = DigestUtils.md5Hex(jobEntity.getResultId() + sql); jobEntity.setQuery_id(queryid); @@ -97,12 +95,33 @@ public class ScheduledResultController { logger.info("开始执行任务"); long begintime = System.currentTimeMillis(); job.setBeginTime(begintime); - pool.execute(new Runnable() { - @Override - public void run() { - es.excuteCkTask(job); - } - }); + String sql = job.getQuerySql().trim(); + sql = sql.replace("$exe_time", "toDateTime('" + job.getIssuedTime().trim() + "')"); + job.setQuerySql(sql); + String queryid = DigestUtils.md5Hex(job.getResultId() + sql); + job.setQuery_id(queryid); + job.setQuerySql(sql); + job.setStatus(1); + job.setExcute_status(1); + job.setExcuteDetail("EXECUTING"); + job.setExcuteRow(0L); + job.setExcuteTime(0); + job.setExcuteProcess(0); + job.setResultRows(0); + if(ms.updateProcesses(job)!=0){ + GlobelConfig.mapresult.put(queryid, job); + pool.execute(new Runnable() { + @Override + public void run() { + es.excuteCkTask(job); + } + }); + }else{ + logger.error("更新数据库状态失败"); + + } + + } } else { logger.info("无待执行任务"); diff --git a/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java index 7a7d4f9..10769a1 100644 --- a/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java +++ b/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java @@ -39,24 +39,8 @@ public class ExcuteserviceImpl implements ExcuteService { public void excuteCkTask(JobEntity job) { - String sql = job.getQuerySql().trim(); - sql = sql.replace("$exe_time", "toDateTime('" + job.getIssuedTime().trim() + "')"); - sql = sql.replace("$start_time", "toDateTime('" + job.getStartTime().trim() + "')"); - sql = sql.replace("$end_time", "toDateTime('" + job.getEndTime().trim() + "')"); - job.setQuerySql(sql); - String queryid = DigestUtils.md5Hex(job.getResultId() + sql); - job.setQuery_id(queryid); - job.setQuerySql(sql); - job.setStatus(1); - job.setExcute_status(1); - job.setExcuteDetail("EXECUTING"); - job.setExcuteRow(0L); - job.setExcuteTime(0); - job.setExcuteProcess(0); - job.setResultRows(0); - GlobelConfig.mapresult.put(queryid, job); - ms.updateProcesses(job); - logger.info("execute queryid=" + queryid + " sql=" + sql + "mapresult size=" + GlobelConfig.mapresult.size()); + + logger.info("execute queryid=" + job.getQuery_id() + " sql=" + job.getQuerySql() + "mapresult size=" + GlobelConfig.mapresult.size()); String joburl = getJobUrl(job.getQuerySql(), job.getResultId()); String killurl = ClickhouseConfig.getKillUrl(job.getQuery_id()); HttpResult hr = new HttpResult(); @@ -84,7 +68,7 @@ public class ExcuteserviceImpl implements ExcuteService { job.setResult(hr.getBody()); job.setExcuteTime((int) Float.parseFloat(rows.get("elapsed").toString())); job.setExcute_status(Integer.parseInt(mapresult.get("code").toString())); - logger.info("success resultid = "+job.getResultId()+" queryid=" + queryid + " sql=" + sql); + logger.info("success resultid = "+job.getResultId()+" queryid=" + job.getQuery_id() + " sql=" + job.getQuerySql()); } } catch (SocketTimeoutException e) { @@ -93,7 +77,7 @@ public class ExcuteserviceImpl implements ExcuteService { if (k == 0) { job.setExcute_status(500001); job.setExcuteDetail("SQL Execution Error excute query time out"); - logger.info("timeout resultid = "+job.getResultId()+" queryid=" + queryid + " sql=" + sql); + logger.info("timeout resultid = "+job.getResultId()+" queryid=" + job.getQuery_id() + " sql=" + job.getQuerySql()); } else { logger.info("Socket warn " + e.toString() + "retry time " + (3 - k)); } @@ -119,10 +103,12 @@ public class ExcuteserviceImpl implements ExcuteService { k = 0; } - try { - cs.QuerySystemForDelete(killurl); - } catch (Exception e) { - logger.error("Kill Query Error" + e.toString()); + if(hr.getCode() != 200) { + try { + cs.QuerySystemForDelete(killurl); + } catch (Exception e) { + logger.error("Kill Query Error" + e.toString()); + } } } while (k > 0); |
