[英]Gremlin - wait for schema.drop() to finish before executing next line of script
我正在尝试针对我们的 Datastax DSE Graph 数据库运行 Gremlin 模式创建脚本,脚本的第一行是schema.drop()
,但脚本似乎立即转到脚本中的下一行并引发错误说它试图创建的新对象仍然存在。 通常schema.drop()
需要大约一分钟左右的时间,因此在运行下一行脚本之前,它似乎没有等待它完成删除架构。
有没有办法强制脚本在schema.drop()
行之后等待并让它在尝试运行下一行脚本以创建新模式之前完成删除模式?
我给出的一般建议是避免以编程方式进行模式更改,因为在我合作过的企业中这经常会出现问题。 如果您提供有关如何编写脚本的详细信息,我很乐意查看并修改我的回复。
我注意到在 Gremlin 中添加暂停或等待,但可能的解决方法是中断您的操作,以便schema.drop()
独立于架构创建的其余部分执行。 使用此解决方法,您可以 (a) 在操作之间手动暂停,或者 (b) 如果您正在运行 shell 脚本,则在两者之间添加sleep
。
需要注意的一点是,在进行架构更改时执行检查以确保每个 DDL 在执行下一个 DDL 之前都成功是很重要的。 干杯!
PS 我已经联系了 DataStax 的 Graph 团队,了解处理此问题的推荐方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.