Я на 90% закончил переход на гибкую среду, когда столкнулся с той же проблемой. После обширных исследований я пришел к выводу, что есть три варианта:
REST API (экспериментальный)
Используйте бета-версию REST API для очередей задач (это, как и все другие API-интерфейсы Google из гибкой среды, является внешним, поэтому вам нужно правильно обращаться с аутентификацией).
Справочник по REST API: https://cloud.google.com/appengine/docs/python/taskqueue/rest/
Обратите внимание, что это внешний и экспериментальный. Найти, например. java sdk без какой-либо значимой документации здесь: https://developers.google.com/api-client-library/java/apis/ (текущая версия: https://developers.google.com/api-client-library/java/apis/taskqueue/v1beta2)
Совместимая среда выполнения
Создайте собственную гибкую среду на основе среды выполнения -compat. Это предлагает старый appengine API в контейнере, подходящем для гибкой среды:
https://cloud.google.com/appengine/docs/flexible/custom-runtimes/build (ищите изображения со словом "ДА" в последнем столбце)
например: https://cloud.google.com/appengine/docs/flexible/java/dev-jetty9-and-apis
https://cloud.google.com/appengine/docs/flexible/java/migrating-an-existing-app
Примечание: я провел две недели в горячем разочаровании, умоляя каждого Всемогущего Бога помочь мне заставить это работать, следуя за контейнерными кроличьими норами в глубины души Люцифера и через неизведанные измерения. В конце концов мне пришлось сдаться. Я просто не могу заставить это работать в удовлетворительной степени.
Прокси-сервис
Своего рода хакерская альтернатива, но она выполняет свою работу: создайте очень тонкую стандартную службу-оболочку среды, которая проксирует задачи в/из вашей очереди. Передайте их своему собственному приложению, как хотите. ¯\_(ツ)_/¯
Недостатком является то, что вы теперь запускаете дополнительные инстансы и сжигаете лишние минуты.
В итоге я получил вариант этого, где я использую прокси-сервис в стандартной среде, но просто перенес свой возможный обработчик задач в AWS Lambda (так что он полностью отключен от GAE). Это другая катастрофа, но более управляемая.
Удачи!
person
hraban
schedule
06.10.2016