防止事务超时的方法?
Way to prevent transaction timeout?
我的 运行 读写事务耗时超过 10 秒,并且它们正在超时(因 ABORTED
错误而失败)。有没有办法指定更长的超时时间?
无法指定事务的超时时间,但您有几个选择:
- 您可以每隔 5-8 秒定期发出一个
executeSql
请求
让您的交易保持活力。你可以做一个简单的查询,比如
SELECT 1
。有关闲置交易的更多信息 here.
- 您可以使用 read-only transaction 而不是读写事务。只读事务没有超时,只有在删除底层会话时它们才会中止。 (会话可以手动删除,也可以在大约一个小时的空闲时间后自动删除。)
你应该考虑一下你是否真的需要这么长的读写事务。读写事务使用锁和其他可以阻止其他事务进行的资源。这通常是具有如此长寿命的读写事务的反模式。
我的 运行 读写事务耗时超过 10 秒,并且它们正在超时(因 ABORTED
错误而失败)。有没有办法指定更长的超时时间?
无法指定事务的超时时间,但您有几个选择:
- 您可以每隔 5-8 秒定期发出一个
executeSql
请求 让您的交易保持活力。你可以做一个简单的查询,比如SELECT 1
。有关闲置交易的更多信息 here. - 您可以使用 read-only transaction 而不是读写事务。只读事务没有超时,只有在删除底层会话时它们才会中止。 (会话可以手动删除,也可以在大约一个小时的空闲时间后自动删除。)
你应该考虑一下你是否真的需要这么长的读写事务。读写事务使用锁和其他可以阻止其他事务进行的资源。这通常是具有如此长寿命的读写事务的反模式。