Mam kod produkcyjny, który intensywnie używany moduł asyncio.semaphore, który jest podejrzewany o problem zakleszczenie. Znalazłem już rozwiązanie, jak dołączyć do uruchamiania kodu Pythona z sygnałem unix, debugować z ipdb.set_trace()
i wyświetlić listę wszystkich zadań w pętli zdarzeń z asyncio.Task.all_tasks()
. Czy mogę dalej sprawdzać w ramce stosu każdego zadania lub przeglądać każdą linię coroutine, która jest obecnie w toku kontraktów futures na ipdb
?Debugowanie i lista wszystkich Coroutine oczekujących na przyszłość w python asyncio
5
A
Odpowiedz
0
Jak zauważa OP, dalsze badania mogą być uzyskane z
[*map(asyncio.Task.print_stack, asyncio.Task.all_tasks())]
(OP jest z pewnością swobodnie self-answer.)
Powiązane problemy
- 1. Python asyncio Timeout siły
- 2. Python asyncio context
- 3. Python asyncio przykład debugowania
- 4. Używanie Cythona z Asyncio (Python 3.4)
- 5. Negatywne spojrzenie na przyszłość python regex
- 6. Python asyncio: czytnik zwrotnego i współprogram komunikacji
- 7. Przyszłość i stabilność IronPython
- 8. Konwersja Scala Przyszłość na Twitter Przyszłość
- 9. Wywołanie coroutine z asyncio.Protocol.data_received
- 10. Lista wszystkich folderów i podfolderów
- 11. Python asyncio programu nie wypłynie
- 12. Python: debugowanie z gdb (na OSX)
- 13. Python aiohttp/asyncio - jak przetwarzać zwrócone dane
- 14. Python multiprocessing: jak ograniczyć liczbę oczekujących procesów?
- 15. Tornado coroutine
- 16. python asyncio, jak tworzyć i anulować zadania z innego wątku
- 17. Mixinig asynchroniczny kierownik kontekst i prosto czekają asyncio
- 18. python asyncio uruchomić raz pętlę zdarzeń?
- 19. Żelazo Python i VS2010 debugowanie problemów
- 20. asyncio i coroutines kontra kolejki zadań
- 21. AppleScript - Lista wszystkich czcionek
- 22. SQL Azure: lista wszystkich użytkowników i użytkowników
- 23. Asyncio Pętla zdarzeń jest zamknięty
- 24. Python: pełna lista modułów
- 25. Lista wszystkich zainstalowanych certyfikatów na Androidzie
- 26. Lista wszystkich folderów w katalogu
- 27. Lista wszystkich plików ze wszystkich folderów na jednej liście
- 28. Lista wszystkich serwerów .com i .net whois?
- 29. Python rozszerzenie debugowanie
- 30. Lista wszystkich diagnostyków gcc
Każde zadanie ma metodę 'Task.get_stack()'. Może tego właśnie szukasz. – Qeek
@Qeek Dzięki za pomysł. '' '[* map (asyncio.Task.print_stack, asyncio.Task.all_tasks())]' '' działa dobrze. – RainJay