У меня возникла небольшая проблема с использованием ndb post_put_hook для добавления чего-либо в очередь задач. Я создал хук в своей модели, и всякий раз, когда выполняется put(), хук выполняется бесконечно. Если я делаю что-то еще, но добавляю что-то в очередь задач, все работает нормально, хук выполняется только один раз.
Когда я делаю это:
class MyModel(ndb.Model):
name = StringProperty()
def _post_put_hook(self, future):
logging.info("Doing Something")
MyModel(name="myname").put()
Результат:
Doing Something
Тем не менее, делая это:
class MyModel(ndb.Model):
name = StringProperty()
def _post_put_hook(self, future):
logging.info("Adding a task")
taskqueue.add(...)
MyModel(name="myname").put()
Результат:
Adding a task
Adding a task
Adding a task
...
Adding a task
Оттуда я должен остановить SDK, иначе он продолжит выполняться. К вашему сведению, задача добавляется правильно (хотя и много раз) и каждый раз возвращает 200.
Я впервые использую такие крючки, так что, возможно, я что-то упускаю. Любая подсказка?
Спасибо !