Ошибка политики Javascript, когда обработка занимает более 200 мс

Есть ли способ разрешить обработку политик javascript более 200 мс без возникновения ошибки.

В настоящее время вижу это с одной из моих политик, которая анализирует большое количество json.


person StringifySteve    schedule 29.01.2014    source источник


Ответы (3)


Проблема может быть решена путем добавления атрибута timeLimit в тег Javascript.

<Javascript async="false" continueOnError="false" enabled="true" timeLimit="300" name="Script-ApplyTransformations">
person StringifySteve    schedule 29.01.2014
comment
Вы говорите, что анализируете большой JSON, извлекаете переменные или политики преобразования не работают. Я предполагаю, что они лучше оптимизированы, чем выноска Javascript. - person Srikanth; 30.01.2014

Обратите внимание, что согласно Apigee docs, 200 мс — это верхний предел для бесплатных организаций.

person Mike Dunker    schedule 29.01.2014
comment
Это несвободная организация - person StringifySteve; 30.01.2014

Просто будьте осторожны, выполняя слишком много сложных преобразований с чистым кодом JS, так как это может не только повлиять на производительность, но и на сложность и обслуживание вашего API-прокси. Одно из предложений состоит в том, чтобы иметь структуру преобразования, чтобы вы могли последовательно применять ее к своим API и повышать удобство сопровождения в своей команде. Другое предложение состоит в том, чтобы внедрить методы толерантного чтения http://martinfowler.com/bliki/TolerantReader.html. , поэтому путь к данным не является жестко запрограммированным. Я использовал JSONPath в предыдущем проекте, см. https://code.google.com/p/jsonpath/wiki/Javascript

person Diego    schedule 29.01.2014
comment
Рассматриваемый javascript очень эффективен, но сам движок javascript при первом запросе может вызвать случайную вспышку, увеличение этого времени позволяет этой политике занять некоторое время при первом запуске. - person StringifySteve; 30.01.2014
comment
Да, согласен с Диего — это ограничение в 200 мс указывает на то, что мы, вероятно, делаем что-то «тяжелое» с политикой JS. - person Santanu Dey; 30.01.2014
comment
Я тоже это заметил, Стив. Без видимой причины движок переходит от 30 мс к более чем 200 мс для одного и того же запроса. Увеличить лимит времени и держать его под контролем, вероятно, ваш лучший выбор. - person Diego; 30.01.2014