|
@@ -31,9 +31,11 @@ public class FaceVerifyJobHandler {
|
|
|
private ExamCaptureQueueService examCaptureQueueService;
|
|
|
|
|
|
public void run(int shardTotal, int shardIndex, String jobParam) throws Exception {
|
|
|
- int batchSize = 100, maxErrorNum = 10;
|
|
|
+ FaceApiParam param = this.parseJobParam(jobParam);
|
|
|
+
|
|
|
+ int batchSize = 100;
|
|
|
List<Long> todoExamRecordDataIds = examCaptureQueueRepo.findQueuesGroupByExamRecordDataId(shardTotal,
|
|
|
- shardIndex, batchSize, maxErrorNum);
|
|
|
+ shardIndex, batchSize, param.getMaxErrorNum());
|
|
|
|
|
|
log.warn("分片任务_FACE_{}_{} curTodoExamRecordDataIds_size:{}", shardTotal, shardIndex,
|
|
|
todoExamRecordDataIds.size());
|
|
@@ -41,24 +43,6 @@ public class FaceVerifyJobHandler {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- FaceApiParam param = new FaceApiParam();
|
|
|
- JsonNode jsonParams = new JsonMapper().getNode(jobParam);
|
|
|
- if (jsonParams != null) {
|
|
|
- JsonNode useLocalBaiduApiForFaceCompare = jsonParams.get("useLocalBaiduApiForFaceCompare");
|
|
|
- if (useLocalBaiduApiForFaceCompare != null) {
|
|
|
- param.setUseLocalBaiduApiForFaceCompare(useLocalBaiduApiForFaceCompare.asBoolean(true));
|
|
|
- } else {
|
|
|
- param.setUseLocalBaiduApiForFaceCompare(true);
|
|
|
- }
|
|
|
-
|
|
|
- JsonNode useLocalBaiduApiForFaceLiveness = jsonParams.get("useLocalBaiduApiForFaceLiveness");
|
|
|
- if (useLocalBaiduApiForFaceLiveness != null) {
|
|
|
- param.setUseLocalBaiduApiForFaceLiveness(useLocalBaiduApiForFaceLiveness.asBoolean(false));
|
|
|
- } else {
|
|
|
- param.setUseLocalBaiduApiForFaceLiveness(false);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
for (Long examRecordDataId : todoExamRecordDataIds) {
|
|
|
final String lockKey = CacheConstants.LOCK_FACE_COMPARE + examRecordDataId;
|
|
|
try {
|
|
@@ -86,4 +70,40 @@ public class FaceVerifyJobHandler {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private FaceApiParam parseJobParam(String jobParam) {
|
|
|
+ JsonNode jsonParams = new JsonMapper().getNode(jobParam);
|
|
|
+ if (jsonParams == null) {
|
|
|
+ return new FaceApiParam();
|
|
|
+ }
|
|
|
+
|
|
|
+ FaceApiParam param = new FaceApiParam();
|
|
|
+
|
|
|
+ JsonNode maxThreadNum = jsonParams.get("maxThreadNum");
|
|
|
+ if (maxThreadNum != null) {
|
|
|
+ param.setMaxThreadNum(maxThreadNum.asInt(3));
|
|
|
+ }
|
|
|
+
|
|
|
+ JsonNode maxErrorNum = jsonParams.get("maxErrorNum");
|
|
|
+ if (maxErrorNum != null) {
|
|
|
+ param.setMaxErrorNum(maxErrorNum.asInt(10));
|
|
|
+ }
|
|
|
+
|
|
|
+ JsonNode useBaiduApi = jsonParams.get("useBaiduApi");
|
|
|
+ if (useBaiduApi != null) {
|
|
|
+ param.setUseBaiduApi(useBaiduApi.asBoolean(true));
|
|
|
+ }
|
|
|
+
|
|
|
+ JsonNode useLocalBaiduApiForFaceCompare = jsonParams.get("useLocalBaiduApiForFaceCompare");
|
|
|
+ if (useLocalBaiduApiForFaceCompare != null) {
|
|
|
+ param.setUseLocalBaiduApiForFaceCompare(useLocalBaiduApiForFaceCompare.asBoolean(true));
|
|
|
+ }
|
|
|
+
|
|
|
+ JsonNode useLocalBaiduApiForFaceLiveness = jsonParams.get("useLocalBaiduApiForFaceLiveness");
|
|
|
+ if (useLocalBaiduApiForFaceLiveness != null) {
|
|
|
+ param.setUseLocalBaiduApiForFaceLiveness(useLocalBaiduApiForFaceLiveness.asBoolean(true));
|
|
|
+ }
|
|
|
+
|
|
|
+ return param;
|
|
|
+ }
|
|
|
+
|
|
|
}
|