Можно ли протестировать асинхронную функцию на наличие непреднамеренной блокировки?
Допустим, я пишу асинхронную функцию и внутри помимо неблокирующих операций по ошибке использую блокирующую операцию. В итоге в целом функция работает, но на самом деле есть затык.
Можно поймать наличие блокировки?
вряд ли. как пример: хрен ты поймаешь операцию с файлом. она может быть очень быстрой локально, но потом внезапно на nfs уже не так...
ивентлуп может иметь некоторые предохранители на время исполнения колбэка, но воздействовать на них не может и допустимое время обработки может от разных условий отличаться
Можно ли протестировать асинхронную функцию на наличие непреднамеренной блокировки?
Допустим, я пишу асинхронную функцию и внутри помимо неблокирующих операций по ошибке использую блокирующую операцию. В итоге в целом функция работает, но на самом деле есть затык.
Можно поймать наличие блокировки?
Может смотреть на состояние процесса. Процесс по идее должен перейти в состояние waiting, когда ожидает ввод/вывод или какое-то событие