Ошибка: время выполнения скрипта истекло через 30000 мс.

Я пытаюсь провести нагрузочное тестирование. Я использую newman в nodejs. В моем скрипте есть async.parallel для параллельного выполнения нескольких коллекций. Затем повторяйте серию параллельных возбуждений каждые 5 секунд. В каждом прогоне у меня есть следующие возможности:

collection: require('./collection.json'),
environment: require('./environment.json'),
timeoutRequest : 0, // infinite timeout
delayRequest: 1000, // ms
iterationCount: 5

Основной цикл выглядит так:

async function sleep(ms) {
  return new Promise(done => setTimeout(() => done(), ms));
}

async function orchestrator() {

  for (let j = 0; j < cycles; j++)

  {
    async.parallel(runItems,
      function(err, results) {
        if (err) {
          throw err;
        }
      }
    );
    await sleep(5000);
  }

Последние 3 строки вывода:

code: ‘ERR_SCRIPT_EXECUTION_TIMEOUT’
}
Process exited with code 1

Я установил количество циклов на 500. Все идет хорошо для более чем 70 циклов, но затем я получаю указанную ошибку.

Есть ли у вас решение или кое-что, что я могу сделать?


person Declan    schedule 26.11.2020    source источник


Ответы (1)


Вероятно, это ошибка либо в том, как Ньюман применяет значения тайм-аута по умолчанию, либо в том, как они задокументированы.

Вот как это должно работать (исходный код):

Вкратце, поведение тайм-аута выглядит следующим образом:

  1. timeout: это глобальное значение тайм-аута, время в миллисекундах для завершения всего выполнения сбора.
  2. timeoutRequest: аналогично предыдущему, но это значение применяется индивидуально ко всем запросам в запуске коллекции.
  3. timeoutScript: аналогично предыдущему, но это значение применяется индивидуально ко всем скриптам в запуске коллекции.

Для любого из трех значений конфигурации, указанных выше, указание значения 0 приведет к установке тайм-аута на бесконечность.

Мои выводы на данный момент:

  1. Я столкнулся с Script execution timeout ошибкой при запуске Postman 5.2.2 CLI с настройками по умолчанию. Открыл проблему здесь
  2. На основании этого комментария может помочь установка значений тайм-аута на 99999.
person Gediminas Rimsa    schedule 22.01.2021