@chepk C exitBlockOnFail тут сложнее, т.к. обычном лоад тест-сценарии я эмулирую нагрузку через закрытую модель
rampConcurrentUsers и constantConcurrentUsers
а там если срабатывает exitBlockOnFail или exitHereIfFailed то один пользователь стопается, и на его место снова скейлится другой...
Вообще я как понял в гатлинге не такого механизма - когда на ошибку можно остановить полностью всю симуляцию и всех юзеров
Если есть способы так сделать, то буду благодарен за подсказку) потому что я сейчас использую что-то вроде вот такого
.exec(myHttpRequest()).exec(exitSimulationOnFailure)
def exitSimulationOnFailure = {
exec((session: io.gatling.core.session.Session) => {
if(session.status == KO) {
FailOverScenario.exitFlag.set(true)
}
session
})
}
failOverScenario.inject(constantUsersPerSec(1).during(maxDurationSeconds seconds)
Оно типо мониторит каждую секунду если флаг типо стал true - значит есть один KO реквест и он делает после этого exit code-1, потом я просто генерю репорт из результатов