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, поэтому, если вы могли бы предоставить тестовое приложение и инструкции о том, как воспроизвести такое поведение, в нашу службу поддержки, мы постараемся обнаружить и исправить это.

Другие вопросы по тегам