Sinatra-Synchrony вызывает HttpProtocolException: HTTP-заголовки - ожидаются ошибки для некоторых пользователей
У меня есть веб-приложение, которое обновляет данные в Pardot через один из их API.
Веб-приложение закодировано с Синатрой. Пользователь добавляет URL-адрес API и CSV-файл с данными, которые должны быть обновлены в форме, и отправляет хиты. Код анализирует данные CSV и отправляет их по указанному URL. Внутренним сервером является Windows Server 2008 R2 с IIS 7.5 и HeliconZoo.
Из-за проблем с производительностью служба технической поддержки Helicon указала мне на Sinatra::Synchrony, и я решил ее реализовать.
Я проверил его на разных компьютерах с разными ОС и браузерами, и все работает хорошо. Производительность была заметно выше, когда более одного компьютера были подключены и отправили форму.
У меня проблема в том, что некоторые пользователи продолжают получать эту ошибку после каждой отправки формы:
Error
Helicon Zoo module has caught up an error. Please see the details below.
Worker Status
%WorkerStatus%
Windows error
%WindowsError%
Internal module error
message: HTTP-headers - are expected
job: JobHttp[#3] - /
transportStatus:Online
getErrorMessage:
RAW output bytes:0
RAW output Begin
Empty stderr
End
type: ZooException
file: JobHttp.cpp
line: 266
version: 1.1.57.268
Несмотря на то, что они получили эту ошибку, данные были успешно отправлены в Пардо.
Вот запись из файла ZooError.log:
[10/24/2012 10:44:01] HttpProtocolException: HTTP-headers - are expected
job: JobHttp[#212] - /
transportStatus:Online
getErrorMessage:
RAW output bytes:0
RAW output Begin
Empty stderr
End
Где я могу начать устранять эту ошибку?
2 ответа
Я хочу поблагодарить Тони за предложение помочь, но эта ошибка не имела никакого отношения к Helicon Zoo. Ошибки, которые отображались на экране из зоопарка, не помогали, но в конечном итоге это была проблема с моим собственным кодом.
Я отправлял данные в Pardot, которые пришли из CSV-файла. Пользователи, создавшие файлы.csv из Excel путем копирования из одного листа Excel в другой. Делая это, Excel копировал кучу пустых строк, и эти пустые строки затем сохранялись в CSV-файл.
Итак... однажды я проверил наличие пустых строк в CSV-файле:
if !row.empty?
Я перестал получать ошибку.
Нил. Я из Helicon Tech и постараюсь вам помочь. Пожалуйста, проверьте журнал вашего приложения Sinatra, так как согласно нашим журналам Sinatra ответил пустым ответом, что не очень хорошо.
Это может быть некоторой проблемой в Zoo, поэтому, если вы могли бы предоставить тестовое приложение и инструкции о том, как воспроизвести такое поведение, в нашу службу поддержки, мы постараемся обнаружить и исправить это.