Как ждать выполнения задач классом GPars Agent?
В настоящее время я использую класс агента GPars для обработки типичного сценария корзины покупок. У меня есть ситуация, когда мне нужно дождаться завершения задач addtocart, minicart, прежде чем задача viewcart вернет ответ. Вызов webservice возвращает viewcart перед возвратом addtocart/minicart. Как сообщить классу агента, что нужно обрабатывать карту просмотра после выполнения других задач?
2 ответа
Агенты всегда обрабатывают представленные задачи последовательно. Таким образом, если вы отправите задачу viewcart последней, она будет обработана последней. Вы можете вызвать agent.await() agent.val, чтобы заблокировать вызывающего, пока все представленные на данный момент задачи не будут выполнены.
Вацлав Печ,
Спасибо много. Ценю твою помощь. Я обработал этот сценарий, добавив счетчик до (счетчик приращения) и после (счетчик приращения) сервиса и ожидая обработки элементов в корзине просмотра и перенаправления их на страницу просмотра. Просто хотел добавить свой ответ в эту ветку.