2014-09-25 2 views
1

У меня есть тест, в котором есть n пользователей, присоединяющихся к событию. Чтобы оставаться в этом событии, каждый пользователь должен продолжать отправлять сообщения websocket каждые m секунд. Это должно выполняться до тех пор, пока не будет выполнен последний пользователь. Я попытался использовать asLongAs(), но я борюсь за его использование. Мое простое условие состояло в том, чтобы увеличивать счетчик каждый раз, когда сценарий выполняется, и следить за этим номером и продолжать отправлять сообщение websocket до тех пор, пока счетчик не достигнет количества пользователей. Как использовать метод asLongAs, или если есть лучший подход, чем этот.asLongAs пользовательское состояние

P.S. Я новичок в scala.

EDIT :: У меня уже есть глобальная переменная с числом пользователей. Я хочу сделать что-то на линии ::

asLongAs(scenarioCount< users){ 
    exec(
    ws("ping").sendText("SomeTextGoesHere")) 
    .pause(4) 
} 
+0

Опубликовать то, что вы пробовали –

+0

EDIT :: У меня уже есть глобальная переменная, у которой есть общее число пользователей. я хочу сделать что-то на линии :: asLongAs (scenarioCount <пользователей) { Exec ( Ws ("пинг"). SendText ("SomeTextGoesHere")) .pause (4) } – Tanmay

ответ

0

Если вы хотите использовать глобальный счетчик, вы должны заботиться о параллельности.

val counter = new AtomicInteger(n) 

asLongAs(session => counter.get) { 
    ... 
} 

Если у вас есть несколько параллельного «событие», вы, вероятно, хотите иметь параллельную карту для того, чтобы отслеживать счетчик для каждого события.

Смежные вопросы