Browse Source

fixed cycle api usage state update

pull/3798/head
YevhenBondarenko 6 years ago
committed by Andrew Shvayka
parent
commit
0f26bb4894
  1. 8
      application/src/main/java/org/thingsboard/server/service/apiusage/DefaultTbApiUsageStateService.java
  2. 8
      common/queue/src/main/java/org/thingsboard/server/queue/discovery/HashPartitionService.java

8
application/src/main/java/org/thingsboard/server/service/apiusage/DefaultTbApiUsageStateService.java

@ -343,7 +343,15 @@ public class DefaultTbApiUsageStateService implements TbApiUsageStateService {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
myTenantStates.values().forEach(state -> { myTenantStates.values().forEach(state -> {
if ((state.getNextCycleTs() > now) && (state.getNextCycleTs() - now < TimeUnit.HOURS.toMillis(1))) { if ((state.getNextCycleTs() > now) && (state.getNextCycleTs() - now < TimeUnit.HOURS.toMillis(1))) {
TenantId tenantId = state.getTenantId();
state.setCycles(state.getNextCycleTs(), SchedulerUtils.getStartOfNextNextMonth()); state.setCycles(state.getNextCycleTs(), SchedulerUtils.getStartOfNextNextMonth());
ToUsageStatsServiceMsg.Builder msg = ToUsageStatsServiceMsg.newBuilder();
msg.setTenantIdMSB(tenantId.getId().getMostSignificantBits());
msg.setTenantIdLSB(tenantId.getId().getLeastSignificantBits());
for (ApiUsageRecordKey key : ApiUsageRecordKey.values()) {
msg.addValues(UsageStatsKVProto.newBuilder().setKey(key.name()).setValue(0).build());
}
process(new TbProtoQueueMsg<>(UUID.randomUUID(), msg.build()), TbCallback.EMPTY);
} }
}); });
} finally { } finally {

8
common/queue/src/main/java/org/thingsboard/server/queue/discovery/HashPartitionService.java

@ -195,9 +195,11 @@ public class HashPartitionService implements PartitionService {
if (current.getServiceTypesList().contains(serviceType.name())) { if (current.getServiceTypesList().contains(serviceType.name())) {
result.add(current.getServiceId()); result.add(current.getServiceId());
} }
for (ServiceInfo serviceInfo : currentOtherServices) { if (currentOtherServices != null) {
if (serviceInfo.getServiceTypesList().contains(serviceType.name())) { for (ServiceInfo serviceInfo : currentOtherServices) {
result.add(serviceInfo.getServiceId()); if (serviceInfo.getServiceTypesList().contains(serviceType.name())) {
result.add(serviceInfo.getServiceId());
}
} }
} }
return result; return result;

Loading…
Cancel
Save