Отслеживание времени с точностью до 1 секунды в Google App Engine - PullRequest
0 голосов
/ 26 октября 2010

В настоящее время я переписываю свой код Java, чтобы запустить его в Google App Engine.Поскольку я не могу использовать таймер для программирования таймаутов (создание потоков не допускается), мне нужно полагаться на системные часы, чтобы отмечать время начала тайм-аута, чтобы я мог сравнить его позже, чтобы выяснить, произошел ли тайм-аут.

Теперь несколько человек (даже в Google Payroll) посоветовали разработчикам не полагаться на системное время из-за распределенной природы серверов приложений Google и неспособности синхронизировать свои часы.Некоторые говорят, что отклонение системных часов может достигать 10 с или даже больше.

1 с отклонение было бы очень хорошо для моего приложения, 2 секунды могут быть терпимыми, все, что выше, может вызвать у меня много горяи мои пользователи приложения, но разница в 10 секунд сделает мое приложение практически непригодным для использования.

Я не знаю, изменилось ли что-то с тех пор к лучшему (надеюсь, да), но если нет, то каковы моипараметры, отличные от создания нового отдельного запроса, чтобы его обработчик не отображал длительность тайм-аута (которая не может превышать 30 секунд из-за ограничения тайм-аута запроса), чтобы поддерживать его длительность.

Спасибо!

Подробнее:

Я пытаюсь разработать сервер для игры в покер, но для тех, кто не знает, как работает онлайн-покер: у меня есть набор игроков, прикрепленных к 1 игровому экземпляру.У каждого игрока есть определенный промежуток времени, чтобы действовать до истечения времени ожидания, чтобы следующий игрок мог действовать.У каждого актера обратный отсчет, и каждый клиент должен его видеть.Только один игрок может действовать одновременно.Время ожидания, которое мне нужно, составляет 10 и 20 секунд.

1 Ответ

1 голос
/ 26 октября 2010

Вы никогда не должны заставлять обработчиков запросов спать или ждать. App Engine автоматически масштабирует ваше приложение, только если обработчики запросов выполняются в среднем за 1000 мс или меньше; преднамеренное ожидание разрушит это. Там всегда лучший вариант, чем спать / ждать - дайте нам знать, что вы делаете, и, возможно, мы можем предложить один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...