Python Threads (или их эквивалент) в решении Google Application Engine?

Я хочу сделать приложение Google App Engine, которое делает следующее:

  1. Клиент выполняет асинхронный HTTP-запрос
  2. Сервер начинает обработку этого запроса
  3. Клиент делает HTTP-запросы ajax для достижения прогресса

Проблема в том, что обработка сервера (шаг № 2) может занять более 30 секунд.

Я знаю, что вы не можете создавать потоки в Google Application Engine и что все задачи должны быть завершены в течение 30 секунд или они будут закрыты. Есть ли способ обойти это?

Кроме того, я использую pythondjango в качестве бэкэнд.

One Solution collect form web for “Python Threads (или их эквивалент) в решении Google Application Engine?”

Вы хотите использовать API очереди задач , возможно, через отложенные задачи . deferred API упрощает работу с Task Queues.

По сути, вы захотите создать задачу для начала обработки. Эта задача должна перехватывать исключения DeadlineExceeded и перепланировать (опять же через deferred API) для продолжения обработки. Это требует, чтобы ваши задачи могли отслеживать свой прогресс. Они также могут обновить свой собственный статус в memcache, который вы можете использовать для записи представления, которое проверяет статус задачи. Затем это представление можно опросить через Ajax.

  • Как создать интернационализированное приложение Google App Engine
  • Django: Как получить доступ к параметрам регулярного выражения URL-адресов внутри класса промежуточного программного обеспечения?
  • Как правильно обрабатывать неправильный ключ urlsafe?
  • google app engine: Ошибка: HTTPError
  • Как предотвратить сброс memcache AppEngine
  • ImportError: нет модуля с именем jinja2
  • Создайте GQL-запрос (для Google App Engine), который имеет условие для ReferenceProperty
  • 'request.post' Файлы Загрузка большого файла: (более ~ 1,5 МБ): Python
  • Python - лучший язык программирования в мире.