Как получить метрики из запроса Couchbase с Async API?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как получить метрики из запроса Couchbase с Async API?

Сообщение Anonymous »

После того, как я понял, как запускать запросы, включая оценку метаданных в этом вопросе, я сталкиваюсь с недостатком дизайна: < /p>

Код: Выделить всё

Instant threshold = Instant.now().minus(retention);
String query = String.format("delete from %s.%s.%s where _lastmodified < \"%s\"", bucketName, scopeName, collectionName, threshold);
QueryResult result = cluster.query(query);
Приведенный выше код возвращает запрос, и у него есть только такие методы, как Rowsas ... , которые вернут полный набор данных. Это был лишь вопрос времени, пока я не запустил запросы, возвращающие больше данных, чем моя куча JVM может покрыть. Повторите, пока не сделано. Реактивная API: потоковая передача больших результатов с обратным давлением со стороны применения. , как блокировка, так и асинхронные API не имеют средств для сигнализации обратного давления в хорошем смысле, поэтому, если вам это нужно, Reactive API является вашим лучшим вариантом.

Код: Выделить всё

  Instant threshold = Instant.now().minus(retention);
String query = String.format("delete from %s.%s.%s where _lastmodified < \"%s\"", bucketName, scopeName, collectionName, threshold);
ReactiveCluster rc = couchbase.reactive();
try {
rc.query(query,
QueryOptions.queryOptions()
.readonly(true)
.scanConsistency(QueryScanConsistency.REQUEST_PLUS)
.metrics(true)
).flux().flatMap(result -> {
Flux rows = result.rowsAs(JsonObject.class);
return rows;
}).subscribe(row -> {
// process one row
}, (Throwable t) -> {
log.error("Could not read data", t);
}
);
} finally {
rc.disconnect();
}
Как в моем последнем вопросе: как я могу получить метрики запроса в этой асинхронной установке?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -async-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»