在PHP的事务中排队任务

时间:2016-10-07 01:35:32

标签: google-app-engine google-app-engine-php

我希望能够将我的代码包装在一个带有事务的AppEngine推送队列中的任务中,这样如果任何代码在该事务中失败,则任务不会被提交到队列中。我使用PHP并且在文档中找不到这样的功能。

我使用Propel2作为我的ORM,所以理想情况下我想将它们与Propel2交易联系起来。

与此相反,Python和Java似乎有这种支持:https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-tasks#enqueuing_tasks_in_cloud_datastore_transactions

以前是否有人这样做过或者可以提出想法?

感谢。

1 个答案:

答案 0 :(得分:0)

您无法在PHP SDK中使用此功能的基本原因是它没有内置的Cloud Datoreore支持。 Java和Python都在Datastore之上提供了这一功能。我不是PHP专家,而是Propel2 relies on PDO用于事务支持,这似乎很难与任务队列API保持一致。如果没有找到PHP的通用事务管理器,这似乎不太可能,你可能会发现很难做到你想要的。也许值得重新审视你的方法;对不起,我可以提供更多帮助。