ndb post_put_hook を使用してタスクキューに何かを追加するという問題に直面しています。モデルにフックを作成しました。put() が実行されるたびに、フックが無期限に実行されます。タスクキューに何かを追加する以外に何かを行うと、正常に機能し、フックは1回だけ実行されます。
私がこれを行うとき:
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 を停止する必要があります。そうしないと、SDK が実行され続けます。参考までに、タスクは適切に追加され (何度も何度も)、毎回 200 を返します。
このようなフックを使用するのはこれが初めてなので、ここで何か不足している可能性があります。どんな手掛かり ?
ありがとう !