У меня есть 2 очереди rabbitmq, одна очередь сообщений, а другая очередь результатов. Я хочу проверить производительность очереди сообщений. Когда я отправляю список json в очередь сообщений один за другим, это сообщение обрабатывается, а затем я получаю ответ в очереди результатов в этом формате.
на одно сообщение 5 ответных сообщений
{id:1234,status:processing}
{id:1234,status:processing}
{id:1234,status:processing}
{id:1234,status:processing}
{id:1234,status:complete}
Теперь я хочу проверить полный статус и найти время, необходимое для получения ответа с полным статусом
это сценарий
val scn: ScenarioBuilder = scenario("test1")
.exec {
s: Session =>
val list = data.toList *// data is the list of messages(they can me from 100 to 1000 or more)*
s.set("list", list)
}
.foreach(s=>s("list").as[Seq[String]],"message") {
exec(
amqp("publish message to exchange").requestReply
.queueExchange("message")
.replyExchange("result")
.textMessage("${message}")
.priority(0)
.contentType("application/json")
.headers("test" -> "performance")
.check(
jsonPath("$.id").exists,
jsonPath("$.id").saveAs("co-id"),
jsonPath("$.status").is("Complete"), *//this one fails with error msg- found processing*
jsonPath("$.status").saveAs("status")
)
).pause(20)
.exec({session =>
val status = session("status").as[String]
val coId = session("co-id").as[String]
println("Response body:::",coId,status)
session
}).pause(5)
}.pause(10)