В настоящее время я переписываю свой код Java, чтобы запустить его в Google App Engine.Поскольку я не могу использовать таймер для программирования таймаутов (создание потоков не допускается), мне нужно полагаться на системные часы, чтобы отмечать время начала тайм-аута, чтобы я мог сравнить его позже, чтобы выяснить, произошел ли тайм-аут.
Теперь несколько человек (даже в Google Payroll) посоветовали разработчикам не полагаться на системное время из-за распределенной природы серверов приложений Google и неспособности синхронизировать свои часы.Некоторые говорят, что отклонение системных часов может достигать 10 с или даже больше.
1 с отклонение было бы очень хорошо для моего приложения, 2 секунды могут быть терпимыми, все, что выше, может вызвать у меня много горяи мои пользователи приложения, но разница в 10 секунд сделает мое приложение практически непригодным для использования.
Я не знаю, изменилось ли что-то с тех пор к лучшему (надеюсь, да), но если нет, то каковы моипараметры, отличные от создания нового отдельного запроса, чтобы его обработчик не отображал длительность тайм-аута (которая не может превышать 30 секунд из-за ограничения тайм-аута запроса), чтобы поддерживать его длительность.
Спасибо!
Подробнее:
Я пытаюсь разработать сервер для игры в покер, но для тех, кто не знает, как работает онлайн-покер: у меня есть набор игроков, прикрепленных к 1 игровому экземпляру.У каждого игрока есть определенный промежуток времени, чтобы действовать до истечения времени ожидания, чтобы следующий игрок мог действовать.У каждого актера обратный отсчет, и каждый клиент должен его видеть.Только один игрок может действовать одновременно.Время ожидания, которое мне нужно, составляет 10 и 20 секунд.