Обнаружение / предупреждение, когда запрос занимает много времени для обработки в конфигурации Passenger + Nginx + Rails - PullRequest
0 голосов
/ 10 февраля 2020

У меня не корпоративный пассажир с Nginx, настроенным для Rails.

Мне интересно, есть ли способ определить, занимает ли запрос xyz секунды. Задача здесь состоит в том, чтобы обнаружить / предупредить во время обработки запроса, т.е. до получения ответа.

Причина вышеописанного сценария заключается в том, что я хочу знать, когда конкретный c запрос превышает очевидный / ожидаемое время выполнения. Может быть, это где-то застряло и требует ручного вмешательства. Может быть, я никак не получу ответ, и мне стоит посмотреть на него. (Я беру крайний случай здесь). Но процесс не может быть уничтожен напрямую, если другие запросы не будут полностью обработаны. Таким образом, предупреждения будет более чем достаточно, чтобы помочь мне в этом сценарии.

Найдено несколько ссылок, таких как:

Rails Версия: 4.1.15

Будем благодарны за любые предложения! Обновление TIA

(Разъяснение вопроса в комментариях, чтобы другие тоже могли на него взглянуть): @anothermh Давайте рассмотрим простой случай, который я хотел бы сделать вызовом API что в итоге предупредит меня, что XYZ-запрос на PID процесса занимает больше времени, чем ожидалось. Пожалуйста, посмотрите на это . У меня установлена ​​система оповещения на моем конце, просто я хочу получать уведомления и об этой ситуации.

Причина такого требования оповещения заключается в том, что однажды мы оказались в состоянии где Rails делал огромное количество вызовов БД и застрял в неопределенном l oop вместо того, чтобы делать только один и двигаться вперед. Это неопределенное состояние вызвало всплеск запросов ActiveRecord (Графики в Grafana), и вот как мы узнали, что что-то застряло. Но если бы мы узнали, что в тот момент, когда запрос начал дольше ожидаемого, мы могли бы действовать быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...