1
0
forked from BRT/arc

Streamline transaction logging: remove redundant batch success reporting in FETCH_TRANSACTIONS and log individual transactions directly to arc-monitoring.

This commit is contained in:
slava 2026-06-03 16:49:38 +05:00
parent 615febc8b5
commit 1f20c9437c

View File

@ -677,12 +677,8 @@ void EventHandler::updateEventThread(const QString &key, const EventInfo &event,
msg += QStringLiteral("\nJSON: %1").arg(txJson);
const QByteArray scr = m_screenshots.take(key);
sendMonitoringLog("info", "task_success", msg, scr, event.id, /*toApiBase=*/true);
// Дублируем успех в arc-monitoring с теми же метаданными, что у ошибок.
QString fetchSummary = QStringLiteral("Found: %1").arg(txArr.size());
if (!txArr.isEmpty())
fetchSummary += QStringLiteral("\nJSON: %1").arg(txJson);
sendTaskSuccess("FETCH_TRANSACTIONS", event.externalId, event.bankName,
fetchSummary, scr, event.id, event.accountId);
// arc-monitoring: каждая транзакция уже отправлена по мере нахождения
// в streamParsedTx — батчевая отправка здесь не нужна.
}
if (event.type == EventType::FetchProfile) {
@ -806,6 +802,10 @@ void EventHandler::startThreadForTask(const MaterialInfo &account, const EventIn
arr.append(tx);
sendTaskResult(eventTypeToString(EventType::FetchTransactions),
event.externalId, event.bankName, arr, event.id, /*updateStatus=*/false);
// Логируем в arc-monitoring сразу по каждой транзакции — как на apiBase.
sendTaskSuccess("FETCH_TRANSACTIONS", event.externalId, event.bankName,
QString::fromUtf8(QJsonDocument(tx).toJson(QJsonDocument::Compact)),
{}, event.id, event.accountId);
// Фиксируем в глобальном кэше: будущие задачи того же материала
// не будут повторно подтверждать эту транзакцию (TTL 20 минут).
const QString txKey = foundTxKey(event.externalId, tx);