Казалось бы простая задача, но уже бьюсь головой об стенку. Backend машина, есть метод, который выполняет задачу одна за другой, и если очередь задач пуста, завершается.
from google.appengine.api import taskqueue
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class Worker(webapp.RequestHandler):
def get(self):
q = taskqueue.Queue('pull-queue')
tasks = q.lease_tasks(3600, 1)
if len(a):
task = tasks[0]
# долгая работа с задачей
q.delete(task)
application = webapp.WSGIApplication([('/backend', Worker)])
Соответственно фронтенд машина просто ставит задачу в конец очереди
q = taskqueue.Queue('pull-queue')
q.add(taskqueue.Task(payload=data, method='PULL'))
Как сигнализировать backend что задачи появились в очереди? Наверное, надо сказать, что это dynamic backend, и есть ситуации когда он просто не запущен.