我希望能够将我的代码包装在一个带有事务的AppEngine推送队列中的任务中,这样如果任何代码在该事务中失败,则任务不会被提交到队列中。我使用PHP并且在文档中找不到这样的功能。
我使用Propel2作为我的ORM,所以理想情况下我想将它们与Propel2交易联系起来。
与此相反,Python和Java似乎有这种支持:https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-tasks#enqueuing_tasks_in_cloud_datastore_transactions
以前是否有人这样做过或者可以提出想法?
感谢。
答案 0 :(得分:0)
您无法在PHP SDK中使用此功能的基本原因是它没有内置的Cloud Datoreore支持。 Java和Python都在Datastore之上提供了这一功能。我不是PHP专家,而是Propel2 relies on PDO用于事务支持,这似乎很难与任务队列API保持一致。如果没有找到PHP的通用事务管理器,这似乎不太可能,你可能会发现很难做到你想要的。也许值得重新审视你的方法;对不起,我可以提供更多帮助。