Gremlin-等待schema.drop()完成后再执行下一行脚本

时间:2020-09-16 21:17:37

标签: gremlin datastax datastax-enterprise-graph dse-graph

我正在尝试对我们的Datastax DSE Graph数据库运行Gremlin模式创建脚本,脚本的第一行是schema.drop(),但是该脚本似乎会立即转到脚本的下一行,抛出错误,表明它尝试创建的新对象仍然存在。通常,schema.drop()大约需要一分钟左右的时间,因此看起来它并没有在等待它完成删除模式之前运行下一行脚本。

是否有一种方法可以强制脚本在schema.drop()行之后等待,并让其完成删除架构的工作,然后再尝试运行脚本的下一行来创建新的架构?

1 个答案:

答案 0 :(得分:0)

我给出的一般建议是避免以编程方式进行架构更改,因为在与我合作的企业中,它经常会出现问题。如果您提供有关脚本编写方式的详细信息,我们将很乐意对其进行审核并修改我的回复。

我注意到在Gremlin中添加了暂停或等待,但是可能的解决方法是破坏您的操作,以便独立于架构创建的其余部分执行schema.drop()。通过这种解决方法,您可以(a)在操作之间手动暂停,或者(b)如果您正在运行shell脚本,然后在两者之间添加sleep

要注意的一件事是,在进行模式更改时执行检查很重要,以确保在执行下一个DDL之前成功完成每个DDL。干杯!

P.S。我已经在这里与DataStax的Graph小组联系,以获取推荐的处理方法。