2013-08-22 3 views
0

Я пишу простую мобильную игру, где серверу необходимо регулярно обновлять состояние игр с частым и регулярным интервалом (например, обновлять все активные игры каждую секунду).Update Loop В Google App Engine

Я пытаюсь реализовать серверы с помощью Google App Engine, но наиболее очевидные способы, чтобы сделать это, кажется, имеют фатальные недостатки:

Cron: Это было бы идеально, но она имеет максимальное разрешение 1 которая слишком длинна для моих целей. TaskQueue: Это может сработать, но, похоже, оно не гарантирует выполнение (или даже если) задач.

Есть ли способ использовать Google App Engine для надежного достижения того, что я ищу, или я должен искать в другом месте?

ответ

1

У вас может быть ручной экземпляр масштабирования, который работает постоянно и будет выдавать «галочку» каждую секунду.

В целом, ваш дизайн и двигатель приложений плохо подходят друг другу. По-прежнему будет сложно гарантировать, что все ваши операции с тиком обрабатываются в течение 1 секунды. Если вы используете хранилище данных, вам нужно быть более осторожным, чтобы убедиться, что конечная последовательность не укусит вас.

+0

Спасибо. Есть ли сервис, который вы использовали бы для такого дизайна? – Huhwha

+0

Вся идея быть зависимой от тика, проходящего через всю вашу систему, является плохой идеей для динамического масштабирования. Он будет работать над чем-то, где у вас есть фиксированное количество серверов, для которых не требуется никакого времени раскрутки (т. Е. Всегда работает). Это можно сделать с помощью AWS или любого другого традиционного хостинг-провайдера. – dragonx

1

Вам нужно посмотреть на приложения, а не на очереди задач. Они работают дольше, вам еще нужно иметь что-то, что перезапускает его, когда он автоматически отключается. Еще раз посмотрите на экземпляр Google, который вы можете поддерживать навсегда.