Browse Source

optimize:
websocketService 取消下发问题

xwh 4 months ago
parent
commit
e78a0813f5

+ 2 - 2
app/build.gradle

@@ -16,8 +16,8 @@ android {
         applicationId "com.hanghui.senic"
         minSdkVersion 22
         targetSdkVersion 22
-        versionCode 123//115
-        versionName "1.1.11.24101105" //1.1.5.241003
+        versionCode 124//115
+        versionName "1.1.12.24101106" //1.1.5.241003
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         ndk {
             abiFilters "armeabi-v7a"   //armeabi-v7a 'arm64-v8a'

+ 7 - 2
app/src/main/java/com/hanghui/senic/baiduface/WebsocketService.java

@@ -647,7 +647,7 @@ public class WebsocketService extends Service {
                 getWebSocketTaskMap().get(traceId) != null) {
             if (getWebSocketTaskMap().get(traceId)
                     .getWebSocketTaskEnum() == WebSocketTaskEnum.CANCEL) { //TODO 如果任务已取消 返回
-            //    Log.i("____789", "当前任务已取消:" + traceId + "   ");
+                Log.i("____789", "当前任务已取消:" + traceId + "   ");
                 return;
             }
             WebSocketTask tempTask = getWebSocketTaskMap().get(traceId);//TODO 人脸执行队列任务更新状态 RUNNING
@@ -665,6 +665,7 @@ public class WebsocketService extends Service {
                 if (getWebSocketTaskMap().get(traceId) != null
                         && getWebSocketTaskMap().get(traceId)
                         .getWebSocketTaskEnum() == WebSocketTaskEnum.CANCEL){ //任务取消
+                    Log.i("____789", "注册任务中....当前任务已取消:" + traceId + "   ");
                     isTaskCancel = true;
                     break;
                 }
@@ -944,11 +945,15 @@ public class WebsocketService extends Service {
         }
         Log.i("____789"," 取消下发"+data.getTraceId());
         ConcurrentHashMap<String, WebSocketTask> tempMap= getWebSocketTaskMap();
+
         if(tempMap.containsKey(data.getTraceId())){
+            Log.i("____789"," 取消下发:已查询到"+data.getTraceId());
             WebSocketTask tempTask=tempMap.get(data.getTraceId());
             tempTask.setWebSocketTaskEnum(WebSocketTaskEnum.CANCEL);
             mFaceDataHandlerThreadHandler.removeCallbacks(tempTask.getRunnable());
             tempMap.put(data.getTraceId(),tempTask);
+        }else {
+            Log.i("____789"," 取消下发:未查询到"+data.getTraceId());
         }
 
     }
@@ -1243,7 +1248,7 @@ public class WebsocketService extends Service {
                 }
                 WebSocketTask webSocketTask = webSocketTaskMap.get(key);
                 long completedTime=webSocketTask.getCompletionTime();
-                if (currentTime - completedTime >= timeInterval) {  //todo 完成时间大于1天的都清除
+                if (completedTime > 0 && currentTime - completedTime >= timeInterval) {  //todo 完成时间大于1天的都清除
                     iterator.remove();
                 }
             }