我想知道是否有一种方法可以在执行so ReQL查询之前检查RethinkDB分片是否正在使用。
我现在连续调用两个函数,第一个函数创建一个RethinkDB表并插入数据,第二个函数将从新创建的表中读取数据。如果要插入的数据量很小,则可以正常工作,但是一旦要插入的数据集的大小增加,我就会得到:
Unhandled rejection RqlRuntimeError: Cannot perform write: Primary replica for shard ["", +inf) not available
这是因为主分片仍在执行前一个函数的写操作。我猜我想知道是否有一些特定于RethinkDB的方法来避免这种情况,或者我是否需要发出/侦听事件或其他什么?
发布于 2015-08-20 16:35:12
您可能可以使用wait
命令来完成此操作。从文档中:
等待数据库中的一个或所有表准备就绪。在创建、重新平衡或重新配置后,表可能暂时不可用。等待命令会一直阻塞,直到给定表(或数据库)完全更新。
https://stackoverflow.com/questions/32101682
复制