使用Gremlin Python驱动程序在CosmosDB中删除并填充一个大图形挂起

2024-06-28 20:47:05 发布

您现在位置:Python中文网/ 问答频道 /正文

基于这个sample,我正在用Python在CosmosDB上删除并重新创建一个大图。 用g.V().drop()删除图形,用g.V().addV...创建顶点,用g.V().addE...创建边。你知道吗

但是,当在项目数量或时间发生变化之后多次运行该过程时,加法会被卡住,而不会产生来自client.submitAsync()的结果。你知道吗


Tags: sample项目client图形数量过程时间drop
1条回答
网友
1楼 · 发布于 2024-06-28 20:47:05

addE()addV()语句之前进行检查时,我发现在drop()之后的图不是完全空的。似乎需要几秒钟。你知道吗

因此,我在drop()之后放置一个循环,直到图形完全为空,然后继续执行add操作。你知道吗

def drop_graph(client):

    client.submitAsync("g.V().drop()").result()

    remain = None
    while remain != 0:
        callback = client.submitAsync("g.V().count()")
        for result in callback.result():
            previous = remain
            remain = result[0]
            print('remaining nodes {}'.format(remain))
            if remain > 0:
                sleep(1)
            if previous == remain:
                client.submitAsync("g.V().drop()").result()

编辑:gremlin.python.driver或后台Gremlin服务器上似乎有一个bug-在某些情况下,删除所有顶点没有任何进展。为此,我添加了另一个drop()的kick start,以防剩余节点没有减少。你知道吗

相关问题 更多 >