Zostało wspomniane w dokumentacji sztormowej, że burza powtarza krotkę, która przerwała przetwarzanie. Moje pytanie brzmi: czy burza zrobi to automatycznie (bez wywoływania fail() na wylewce początkowej), czy raczej jest odpowiedzialna za dziób początkowy, aby powtórzyć krotkę (wywoływana jest funkcja fail() i odtwarzanie powinno być zaimplementowane wewnątrz lub nawet gdzieś zewnętrznie)?Czy ponowne odtworzenie burzy jest krotką, które przetwarzanie zostało przekroczone?
Odpowiedz
Aby uzyskać poprawne odtwarzanie po upływie limitu czasu, musisz zakotwiczyć krotkę z identyfikatorem, gdy emitujesz go z dziobka. Kiedy upłynie limit czasu, to, co zostało użyte jako kotwica, zostanie zwrócone do metody fail (fail (object anchorId)). Teraz możesz użyć anchorId z nieudanej/timeoutout tuple, aby powtórzyć grę lub cokolwiek innego, co chcesz zrobić z krotką timeout. Każdy identyfikator kotwicy musi być niepowtarzalny. Przykładem identyfikatora zakotwiczenia jest identyfikator bazy danych. Kiedy krotka nie powiedzie się, możesz użyć identyfikatora bazy danych, aby odtworzyć krotkę i ponownie ją wydać. Aby odpowiedzieć na twoje pytanie, musisz mieć logikę powtórki w niepowodzeniu i możesz użyć anchorId do odtworzenia swojej krotki. Mam nadzieję, że ta informacja pomaga
Od http://storm.apache.org/documentation/Guaranteeing-message-processing.html,
jeśli Storm krotkowe razy-out będzie wywołać metodę
fail
naSpout
Więc tak, fail
zostanie wywołana.
- 1. Opóźnione przetwarzanie kolejki/komunikatu w czasie burzy
- 2. Ponowne przetwarzanie obrazów w Carrierwave
- 3. Czy jest możliwe odtworzenie ścieżki w CAKeyFrameAnimation?
- 4. Ponowne równoważenie topologii burzy za pomocą kodu Java
- 5. Dobre wykorzystanie burzy?
- 6. UIActivityViewController - czy istnieje sposób sprawdzenia, które działanie zostało wybrane?
- 7. Brzytwa MVC3: czy możliwe jest odtworzenie starszej wersji ASCX?
- 8. czy możliwe jest odtworzenie interpolacji ciągów Pythona w ocaml?
- 9. Czy upuszczenie i odtworzenie indeksu może przyspieszyć usuwanie SQL?
- 10. Wykrywanie które reaktywne zapytanie zostało wywołane
- 11. Czy istnieje różnica między listą a krotką?
- 12. Czy przetwarzanie/analiza obrazu NodeJS jest możliwe?
- 13. Jaka jest różnica między krotką a kompresją?
- 14. mata nie jest krotką numeryczna: error OpenCV
- 15. WPF: Dyspozytor przetwarzanie zostało zawieszone, ale wiadomości są nadal przetwarzane
- 16. Przycisk vba - znalezisko, które zostało kliknięte
- 17. Przepływ realizacji programu burzy
- 18. Erlang: "poprzedzanie" elementu krotką
- 19. Odtworzenie Tufte Moiré wibracje
- 20. nowy typ wieloparametrowy sfałszowany krotką?
- 21. Czy przetwarzanie równoległe w bash?
- 22. Licznik czasu ASP.NET "Sesje przekroczone czasy" (perfmon.exe)
- 23. Jak iterować nad krotką TR1
- 24. Czy zdarzenie jest uruchamiane, gdy powiązanie zostało ustawione dla właściwości?
- 25. Przetwarzanie adnotacji Java: skąd mam wiedzieć, czy runda jest ostatnia?
- 26. Przetwarzanie plików za pomocą ParallelForeach. Czy to jest najlepsze podejście?
- 27. Czyste rozwiązanie, aby dowiedzieć się, które MKAnnotation zostało wykorzystane?
- 28. Jak wyświetlić okno, które zostało ukryte za pomocą metody "wycofania"?
- 29. Wykonywanie zatrzymania aktywności, które nie zostało wznowione - Android
- 30. Eclipse: Jak usunąć dołączone źródło, które zostało dodane do słoiczka
Czy istnieje sposób, aby dowiedzieć się, która śruba nie powiodła się w metodzie fail() wylewki? Zasadniczo chcę wysłać informacje dotyczące sworznia w krotce, gdy ack() lub fail(). Jak można to zrobić? –