forked from Qortal/qortal
Always use rate limiter for metadata requests, and sleep for a random amount of time between fetching metadata items.
This commit is contained in:
parent
6bf2b99913
commit
b0224651c2
@ -724,7 +724,7 @@ public class ArbitraryResource {
|
|||||||
ArbitraryDataResource resource = new ArbitraryDataResource(name, ResourceIdType.NAME, service, identifier);
|
ArbitraryDataResource resource = new ArbitraryDataResource(name, ResourceIdType.NAME, service, identifier);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
ArbitraryDataTransactionMetadata transactionMetadata = ArbitraryMetadataManager.getInstance().fetchMetadata(resource, false);
|
ArbitraryDataTransactionMetadata transactionMetadata = ArbitraryMetadataManager.getInstance().fetchMetadata(resource, true);
|
||||||
if (transactionMetadata != null) {
|
if (transactionMetadata != null) {
|
||||||
ArbitraryResourceMetadata resourceMetadata = ArbitraryResourceMetadata.fromTransactionMetadata(transactionMetadata, true);
|
ArbitraryResourceMetadata resourceMetadata = ArbitraryResourceMetadata.fromTransactionMetadata(transactionMetadata, true);
|
||||||
if (resourceMetadata != null) {
|
if (resourceMetadata != null) {
|
||||||
|
@ -275,7 +275,10 @@ public class ArbitraryDataManager extends Thread {
|
|||||||
int offset = 0;
|
int offset = 0;
|
||||||
|
|
||||||
while (!isStopping) {
|
while (!isStopping) {
|
||||||
Thread.sleep(1000L);
|
final int minSeconds = 3;
|
||||||
|
final int maxSeconds = 10;
|
||||||
|
final int randomSleepTime = new Random().nextInt((maxSeconds - minSeconds + 1)) + minSeconds;
|
||||||
|
Thread.sleep(randomSleepTime * 1000L);
|
||||||
|
|
||||||
// Any arbitrary transactions we want to fetch data for?
|
// Any arbitrary transactions we want to fetch data for?
|
||||||
try (final Repository repository = RepositoryManager.getRepository()) {
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user