如何为DBIOAction [Iterable]创建超时?

时间:2019-09-10 08:07:25

标签: scala slick slick-3.0

我想让DBIO [Iterable]的整个事务都超时。

我知道有多个问题:

  • setQueryTimeout:在语句批处理的情况下,它是实现定义的...
  • slick:可能会退回到为批处理操作生成多个插入语句。这将取决于驱动程序...和其他情况... 返回 ...-我当然会使用
val ins1: DBIO[Int] = coffees += ("Colombian", 7.99)
val ins2: DBIO[Int] = coffees += ("French_Roast", 8.99)
val qs = DBIO[Vector[Int]] = DBIO.sequence(Vector(ins1, ins2))
db.run(qs.transactionally.withStatementParameters(statementInit = st => st.setQueryTimeout(timeout))

那么我该如何创建超时,最好是毫秒?驱动程序是postgresql和H2。

此查询和其他查询在我之前创建的保存点之后调用,如果此事务或其他事务的超时失败,应回滚该查询。

答案是future timeout patterns之一吗?

0 个答案:

没有答案