1

AppEngine プッシュ キューにタスクをエンキューするコードをトランザクションでラップして、そのトランザクションでコードが失敗した場合にタスクがキューにコミットされないようにしたいと考えています。私は PHP を使用していますが、ドキュメントにそのような機能はありません。

私は Propel2 を ORM として使用しているので、理想的にはそれらを Propel2 トランザクションに関連付けたいと考えています。

それとは反対に、Python と Java には次のサポートがあるようです: https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-tasks#enqueuing_tasks_in_cloud_datastore_transactions

誰かがこれを以前に行ったことがありますか、またはアイデアを提案できますか?

ありがとう。

4

1 に答える 1

0

PHP SDK でこの機能を使用できない根本的な理由は、Cloud Datastore のサポートが組み込まれていないことです。Java と Python は両方とも、データストア上でこれを提供します。私は PHP の専門家ではありませんが、Propel2はトランザクションのサポートを PDO に依存しているため、タスク キュー API との対応が難しいようです。PHP 用の汎用トランザクション マネージャーを見つける以外に、やりたいことを実行するのは難しいかもしれません。おそらく、アプローチを再検討する価値があります。申し訳ありませんが、これ以上お役に立てません。

于 2016-10-07T22:54:52.383 に答える