我想
- 启动 Google appengine 交易
- 创建任务并将其排入队列(在任何事务之外)
- 通过提交或丢弃来关闭事务
我如何在 Java 中的事务之外执行 #2?
动机主要是为了避免 5 项任务的限制。
我想
我如何在 Java 中的事务之外执行 #2?
动机主要是为了避免 5 项任务的限制。
您可以对 Queue.add 方法的以下变体使用空事务参数。
add(Transaction txn, TaskOptions taskOptions)
这在队列接口文档的顶部进行了解释。它将使添加任务独立于活动事务的成功或失败。
但是,如果您真的不关心即使事务失败也将任务排队,您可以在事务内的列表中创建 TaskOptions 对象,然后在事务完成后一次调用中将它们排入队列。这样一来,您就不会因在事务中添加到队列而产生延迟成本。
一种选择可能是:
合适的?(您需要验证事务性任务本身是否可以将非事务性任务排入队列。)