Merge branch 'master' of github.com:thingsboard/thingsboard
This commit is contained in:
commit
8a30b99d18
@ -147,6 +147,11 @@ public class DefaultTbApiUsageStateService implements TbApiUsageStateService {
|
|||||||
public void process(TbProtoQueueMsg<ToUsageStatsServiceMsg> msg, TbCallback callback) {
|
public void process(TbProtoQueueMsg<ToUsageStatsServiceMsg> msg, TbCallback callback) {
|
||||||
ToUsageStatsServiceMsg statsMsg = msg.getValue();
|
ToUsageStatsServiceMsg statsMsg = msg.getValue();
|
||||||
TenantId tenantId = new TenantId(new UUID(statsMsg.getTenantIdMSB(), statsMsg.getTenantIdLSB()));
|
TenantId tenantId = new TenantId(new UUID(statsMsg.getTenantIdMSB(), statsMsg.getTenantIdLSB()));
|
||||||
|
|
||||||
|
if (tenantProfileCache.get(tenantId) == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
TenantApiUsageState tenantState;
|
TenantApiUsageState tenantState;
|
||||||
List<TsKvEntry> updatedEntries;
|
List<TsKvEntry> updatedEntries;
|
||||||
Map<ApiFeature, ApiUsageStateValue> result;
|
Map<ApiFeature, ApiUsageStateValue> result;
|
||||||
@ -343,7 +348,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 {
|
||||||
|
|||||||
@ -297,7 +297,7 @@ public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCore
|
|||||||
try {
|
try {
|
||||||
handleUsageStats(msg, callback);
|
handleUsageStats(msg, callback);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
log.warn("[{}] Failed to process usge stats: {}", id, msg, e);
|
log.warn("[{}] Failed to process usage stats: {}", id, msg, e);
|
||||||
callback.onFailure(e);
|
callback.onFailure(e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -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…
x
Reference in New Issue
Block a user