Приложение для загрузки твитов и подписчиков с Google App Engine - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь создать приложение на Python с Google App Engine, которое выбирает подписчиков определенных аккаунтов, а затем их твиты. Я основываюсь на этом шаблоне и изменяю его, чтобы адаптировать его к тому, что мне нужно.

На данный момент проблема в том, что когда я пытаюсь получить подписчиков, я получаю DeadlineExceededError из-за времени ожидания API Twitter.

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

Кто-нибудь знает, как я могу достичь того же результата без устаревшего модуля?

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

У вас есть пара опций, которые вы можете использовать для длительных задач:

  • Использовать очереди задач GAE : GAE предоставляет очереди push и pull, которые позволяют выполнять асинхронную работу вне индивидуального запроса.
  • Использовать Cloud Pub / Sub : тип очереди извлечения, которая позволит вашему приложению App Engine публиковать сообщения каждый раз, когда вы захотите получить подписчиков или твиты. Затем подписчик получит сообщение из очереди, выполнит долгосрочное задание и поместит результат в некоторое хранилище данных.
  • Использование GAE Services : это позволит вам создать фоновую службу и вручную масштабировать ее , чтобы запускать столько времени, сколько вам нужно.
0 голосов
/ 05 сентября 2018

Серверы (модули) устарели в пользу Сервисов:

https://cloud.google.com/appengine/docs/flexible/python/an-overview-of-app-engine

Если вы хотите, чтобы служба могла обрабатывать запросы длительностью более 60 секунд, установите для нее значение «Масштабирование вручную». Затем запрос может выполняться до 24 часов (или до тех пор, пока вы его не отключите). См:

https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed#instance_scaling

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

...