MakeHybrid
Umów rozmowę
Polski

Idempotentność

Zrobić to samo dwa razy i dostać jeden wynik — własność, która czyni ponowienia i duplikaty nieszkodliwymi.

Operacja jest idempotentna, gdy wykonana dwa razy zostawia świat taki, jaki zostawiła po jednym razie. Usunięcie pliku jest idempotentne. Wysłanie wiadomości nie jest, i w tej asymetrii mieszka większość błędów z podwójnymi wiadomościami.

Gdzie naprawdę jest potrzebna

Jak ją uzyskać tanio

Prowadź tabelę identyfikatorów, na które już zareagowałeś, i wstawiaj do niej z więzem unikalności, zanim wykonasz pracę. Jeśli wstawienie się nie uda, ktoś już to obsłużył. To cała technika; nie potrzebuje żadnej biblioteki i przeżywa restart w środku, którego wersja w pamięci nie przeżywa.

Wstawiaj przed, nie po. Wstawianie po zostawia okno między zrobieniem rzeczy a zapisaniem, że się ją zrobiło, a awaria w tym oknie to dokładnie przypadek, który tabela miała zasłonić.

Czego użyć jako identyfikatora

Tego, jak nadawca nazywa zdarzenie, jeśli daje ci nazwę. Jeśli nie daje, zbuduj klucz z pól, które czynią zdarzenie tym zdarzeniem — konto, rozmowa i wiadomość, dajmy na to — i policz z nich skrót. Klucz wyprowadzony ze znacznika czasu nie jest kluczem: ponowienie ma inny.

Idempotentność to nie odsiewanie duplikatów w interfejsie. Zanim duplikat trafi na ekran, drugą wiadomość już wysłałeś. Sprawdzenie należy na sam początek obsługi, zanim cokolwiek wyjdzie.

O co ludzie pytają

Czy agenci SI zwiększają ryzyko duplikatów?

Mogą. Agent SI poproszony dwa razy może wysłać dwa razy, a ten, który ponawia po przekroczeniu czasu, może nie wiedzieć, że pierwsza próba się udała. Daj mu w instrukcjach regułę — odczytaj rozmowę przed ponownym wysłaniem — i niech człowiek nadal zatwierdza wysyłki.

Czy przycisk „Zastosuj” w pokoju projektowym jest idempotentny?

Propozycja w pokoju wykonuje się tylko raz. Ponowne naciśnięcie „Zastosuj” niczego nie zmienia.

Zamień to w coś, co działa samo

Powiedz, czym zajmuje się twoja firma, a stanie się twoją własną usługą i produktem w jednym: praca działa sama, pod twoją nazwą, na twoich kontach i na twoim kluczu SI. Pierwsze 30 dni jest bezpłatne, a nic z tego nie wymaga programisty.

Zacznij okres próbny