Код IT
← Каталог

Потоковая аналитика в реальном времени — Пример реализации логики

Фрагмент из «Потоковая аналитика в реальном времени»: Пример реализации логики.

Python main.py
# Порог "подозрительного" расстояния между транзакциями (км)
GEO_ANOMALY_KM = 500

def check_transaction(txn, last_location):
    if txn.amount > 100_000:
        flag_high_value(txn)

    # distance_km — функция из вашей геобиблиотеки (haversine и т.п.)
    if distance_km(txn.location, last_location) > GEO_ANOMALY_KM:
        flag_geo_anomaly(txn)

    return True

def flag_high_value(transaction):
    send_alert_to_security(transaction)
    log_event("High value transaction", transaction)

def flag_geo_anomaly(transaction):
    trigger_two_factor_auth(transaction.user_id)
    log_event("Suspicious geo location", transaction)
# Порог "подозрительного" расстояния между транзакциями (км)
GEO_ANOMALY_KM = 500

def check_transaction(txn, last_location):
    if txn.amount > 100_000:
        flag_high_value(txn)

    # distance_km — функция из вашей геобиблиотеки (haversine и т.п.)
    if distance_km(txn.location, last_location) > GEO_ANOMALY_KM:
        flag_geo_anomaly(txn)

    return True

def flag_high_value(transaction):
    send_alert_to_security(transaction)
    log_event("High value transaction", transaction)

def flag_geo_anomaly(transaction):
    trigger_two_factor_auth(transaction.user_id)
    log_event("Suspicious geo location", transaction)