diff --git a/services/EventHandler.cpp b/services/EventHandler.cpp index f2e78a5..cd34484 100644 --- a/services/EventHandler.cpp +++ b/services/EventHandler.cpp @@ -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);