Пакет is
помещает несколько вызовов API в один HTTP-запрос.
Пакетный запрос - это набор команд в одном HTTP-запросе, как здесь https://developers.facebook.com/docs/graph-api/making-multiple-requests/
Вы описываете это как
Проблема в том, что иногда запросы выдаются партиями, последовательно, один за другим, для одного и того же идентификатора клиента. Когда это происходит, разные потоки обрабатывают эти запросы, и поэтому наш постоянный уровень (MySQL) переходит в несовместимое состояние из-за разницы в отметке времени обработки этих запросов.
Это набор одновременных запросов . Play Framework обычно работает как сервер без сохранения состояния. Я предполагаю, что вы также организуете его как лицо без гражданства. Ничто не связывает один запрос с другим, вы не можете контролировать порядок. Ну, вы можете, если вы создадите специальный протокол, такой как «открытие пакетного запроса», запрос № 1, № 2, ... «закрытие пакетного запроса». Вы должны проверить, был ли точно весь запрос верным. Вам также нужно запустить несколько потоков с состоянием и несколько очередей ... Думаю, что akka может помочь с этим, но я уверен, что вы этого не сделаете.
Эта проблема не зависит от "play-framework". Вы будете воспроизводить его на любом сервере. Например, общий случай: Можно ли получить не по порядку ответы с HTTP?
Вы можете пойти любым путем:
1. «Пакетная» команда в одном запросе
Вам нужно сменить клиента, чтобы он объединял «пакетные» запросы в один. Вам также нужно изменить сервер, чтобы он обрабатывал все команды из пакета одну за другой.
Пример запроса: https://developers.facebook.com/docs/graph-api/making-multiple-requests/
2. «Трубопровод» запросов
Вам нужно изменить клиента, чтобы он отправлял следующий запрос после получения ответа от предыдущего.
Пример: Можно ли получить не по порядку ответы по HTTP?
Решением этой проблемы является конвейерная обработка запросов Ajax и их последовательная передача. ... Следующий запрос отправлен только после успешного возврата предыдущего. "