от
У меня есть Ruby на сайте рельсов, что делает HTTP-запросы к внешним веб-сервисом. Примерно раз в день я получаю SystemExit (трассировка стека ниже) электронной почты об ошибке, когда призыв на службу не удалось. Если бы я попробовать тот же запрос на моем сайте мгновений, и он работает нормально. Это происходит с тех пор сайт продолжал жить, и я не смог отследить, чем это вызвано. Руби версии 1.8.6 и рельсы версия 1.2.6. У кого еще есть эта проблема? Это ошибки и трассировка стека. В SystemExit произошло /usr/местные/библиотека/Рубин/драгоценные камни/1.8/драгоценные камни/рельсы-1.2.6/Либ/fcgi_handler.РБ:116:в выход' /usr/местные/библиотека/Рубин/драгоценные камни/1.8/драгоценные камни/рельсы-1.2.6/Либ/fcgi_handler.РБ:116:в exit_now_handler' /usr/местные/библиотека/Рубин/драгоценные камни/1.8/драгоценные камни/activesupport-1.4.4/библиотека lib/active_support/инфлектора.РБ:250:в to_proc' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:133:в Call' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:133:в sysread' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:133:в rbuf_fill' /usr/местные/библиотека/Рубин/1.8/ожидания.РБ:56:в тайм-аут' /usr/местные/библиотека/Рубин/1.8/ожидания.РБ:76:в тайм-аут' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:132:в rbuf_fill' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:116:в readuntil' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:126:в с readline' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:2017:в read_status_line' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:2006:в read_new' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:1047:в запрос' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:945:в request_get' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:380:В get_response' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:543:в начале /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:379:в get_response'

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

5 Ответы

0 голосов
от
У меня есть Ruby на сайте рельсов, что делает HTTP-запросы к внешним веб-сервисом. Примерно раз в день я получаю SystemExit (трассировка стека ниже) электронной почты об ошибке, когда призыв на службу не удалось. Если бы я попробовать тот же запрос на моем сайте мгновений, и он работает нормально. Это происходит с тех пор сайт продолжал жить, и я не смог отследить, чем это вызвано. Руби версии 1.8.6 и рельсы версия 1.2.6. У кого еще есть эта проблема? Это ошибки и трассировка стека. В SystemExit произошло /usr/местные/библиотека/Рубин/драгоценные камни/1.8/драгоценные камни/рельсы-1.2.6/Либ/fcgi_handler.РБ:116:в выход' /usr/местные/библиотека/Рубин/драгоценные камни/1.8/драгоценные камни/рельсы-1.2.6/Либ/fcgi_handler.РБ:116:в exit_now_handler' /usr/местные/библиотека/Рубин/драгоценные камни/1.8/драгоценные камни/activesupport-1.4.4/библиотека lib/active_support/инфлектора.РБ:250:в to_proc' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:133:в Call' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:133:в sysread' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:133:в rbuf_fill' /usr/местные/библиотека/Рубин/1.8/ожидания.РБ:56:в тайм-аут' /usr/местные/библиотека/Рубин/1.8/ожидания.РБ:76:в тайм-аут' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:132:в rbuf_fill' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:116:в readuntil' /usr/местные/библиотека/Рубин/1.8/сеть/протокол.РБ:126:в с readline' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:2017:в read_status_line' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:2006:в read_new' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:1047:в запрос' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:945:в request_get' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:380:В get_response' /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:543:в начале /usr/местные/библиотека/Рубин/1.8/сеть/протокол HTTP.РБ:379:в get_response'
0 голосов
от
Через fcgi по Руби, как известно, очень глючит. Практически все переехали в шавки по этой причине и рекомендую вам сделать то же самое.
0 голосов
от
Он давно не используется fcgi ПО, но я думаю, что процесс fcgi по мог бросить SystemExit, если поток был слишком долго. Это может быть веб-служба не отвечает или даже медленный запрос DNS. Некоторые результаты Google показывают, аналогичная ошибка с Python и fcgi по так, чтобы шавки будет хорошей идеей. Этот пост моя ссылка я использовал для установки шавки и я все еще вернемся к нему.
0 голосов
от
Я использовал, чтобы получить эти все время на Apache1/FastCGI-сервера. Я думаю, что это вызвано ответа, вешаю трубку, прежде чем Руби делается. Переключения для шавки является хорошим первым шагом, но есть больше, чтобы сделать. Это плохая идея, чтобы выбраковывать из веб-служб на текущий страниц, особенно с рельсов. Рельсы не является потокобезопасным. Количество одновременных подключений вы можете поддержать равна числу шавок (или пассажира) процессов в кластере. Если у вас есть одна дворняга, а кто-то обращается к странице, которая вызывает веб-службу, которая занимает 10 секунд времени, каждый запрос на вашем сайте будет тайм-аут в течение этого времени. Большинство балансировщиков, просто цикл через ваши шавок слепо, поэтому, если у двух шавок, любой другой запрос будет тайм-аут. Все, что может быть непредсказуемо медленно, должно произойти в очереди заданий. Первый удар в /медленное/действие добавляет задание в очередь, и медленный действие сохраняет при обновлении через обновления страницы или запросы через AJAX, пока работа не будет закончена, и тогда вы получите результаты из очереди заданий. В наши дни существует несколько очередей заданий для рельсы, но старые и, вероятно, наиболее широко используется BackgroundRB. Другой вариант, в зависимости от характера вашего приложения, чтобы отбирать обслуживание каждые N минут с помощью cron, кэшировать данные локально, и Живые страницы чтение из кэша.
0 голосов
от
Я также хотел бы взглянуть на пассажира. Это намного легче идти, чем традиционные решения для Apache/Nginx в дворняга.
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...