diff --git a/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java index c3f5038..87bfc74 100644 --- a/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java @@ -299,6 +299,7 @@ public class TaskFaceServiceImpl implements TaskFaceService { ListFaceEntitiesRequest listFaceEntitiesRequest = new ListFaceEntitiesRequest(); AtomicInteger count = new AtomicInteger(0); IAcsClient client = getClient(); + FixedRateLimiter limiter = new FixedRateLimiter(2); listFaceEntitiesRequest.setDbName(USER_FACE_DB_NAME + String.valueOf(scenicId)); listFaceEntitiesRequest.setToken(null); @@ -307,6 +308,10 @@ public class TaskFaceServiceImpl implements TaskFaceService { while (true) { try { listFaceEntitiesRequest.setOffset(count.get()); + try { + limiter.acquire(); + } catch (InterruptedException ignored) { + } ListFaceEntitiesResponse listFaceEntitiesResponse = client.getAcsResponse(listFaceEntitiesRequest); if (listFaceEntitiesResponse == null || listFaceEntitiesResponse.getData() == null || listFaceEntitiesResponse.getData().getEntities() == null || listFaceEntitiesResponse.getData().getEntities().isEmpty()) { break; @@ -343,6 +348,10 @@ public class TaskFaceServiceImpl implements TaskFaceService { try { while (true) { listFaceEntitiesRequest.setOffset(count.get()); + try { + limiter.acquire(); + } catch (InterruptedException ignored) { + } ListFaceEntitiesResponse listFaceEntitiesResponse = client.getAcsResponse(listFaceEntitiesRequest); if (listFaceEntitiesResponse == null || listFaceEntitiesResponse.getData() == null || listFaceEntitiesResponse.getData().getEntities() == null || listFaceEntitiesResponse.getData().getEntities().isEmpty()) { break;