Frage

I am passing a dictionary of the form

{'twitterid':121212, 'followers':[121,212323,2323,1221]}

to the function createVertex

def createVertex(userDict):
    vertex = g.vertices.create(twitterid=userDict['twitterid'])
    g.vertices.update(vertex.eid, userDict)

    while not 'followers' in list(vertex.data().iterkeys()):
        print "trying " + str(vertex.twitterid)

    return vertex

It gets stuck in while loop. I suspect there is a "commit" issue in update or a race issue. Can someone advise how to fix this problem?

Thanks

War es hilfreich?

Lösung

No race condition. vertex doesn't contain userDict in the example you provided because update() doesn't modify it. Use save() instead:

def createVertex(userDict):
    vertex = g.vertices.create(twitterid=userDict['twitterid'])

    vertex.followers = userDict['followers']
    vertex.save()

    return vertex

See https://github.com/espeed/bulbs/blob/master/bulbs/element.py#L505

However, you can do all of the above in one step:

vertex = g.vertices.create(userDict)

See https://github.com/espeed/bulbs/blob/master/bulbs/element.py#L551

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top