2012-07-31 3 views
0

J'utilise py2neo pour accéder à la base de données neo4j. Je charge le graphique à partir de données dans un fichier texte.Lancement de py2Neo py2neo.rest.NoResponse Exception

Étant donné que mon ensemble de données contient environ un million de nœuds, le chargement de tout l'ensemble de données prend beaucoup de temps. Quelque part entre les deux, le code lance py2neo.rest.NoResponse. J'ai essayé d'exécuter le code plusieurs fois. Il échoue à différents points. Je ne vois aucun problème dans les erreurs. Je veux dire que je ne vois aucune erreur due aux données dans le fichier ou ce n'est pas au même point dans le fichier, il échoue. Je le sais à partir de mes fichiers journaux.

trace

de la pile d'erreur est comme ci-dessous:

Traceback (most recent call last): 
    File "C:\Users\darshan.hegde\workspace\movie_lens_loader\src\load_movie_lens_data.py", line 100, in <module> 
    main() 
    File "C:\Users\darshan.hegde\workspace\movie_lens_loader\src\load_movie_lens_data.py", line 97, in main 
    LMLD.load_ratings_data(ratings_file_path) 
    File "C:\Users\darshan.hegde\workspace\movie_lens_loader\src\load_movie_lens_data.py", line 71, in load_ratings_data 
    user_node.create_relationship_to(movie_node, "rated", {"stars": ratings.stars}) 
    File "C:\Python26\lib\site-packages\py2neo\neo4j.py", line 581, in create_relationship_to 
    'data': properties 
    File "C:\Python26\lib\site-packages\py2neo\rest.py", line 252, in _post 
    return self._request('POST', uri, json.dumps(data), **kwargs) 
    File "C:\Python26\lib\site-packages\py2neo\rest.py", line 240, in _request 
    raise NoResponse(uri) 
py2neo.rest.NoResponse: u'http://localhost:7474/db/data/node/16088/relationships' 

Quelqu'un at-il tombé sur la même erreur? S'il vous plaît laissez-moi savoir la solution.

Je ne suis pas sûr si cette information aide. J'utilise les versions suivantes: Python-2.6.6 et py2neo-1.2.15

Répondre

3

Désolé que vous rencontrez des problèmes avec py2neo. Il n'est pas facile de voir dans ce cas ce qui pourrait être à l'origine de l'erreur puisque vous dites qu'il se reproduit à des intervalles aléatoires pendant une charge importante. Je suppose que vous voyez une certaine forme de saturation des ressources, avec une limite qui empêche toute autre connexion HTTP. J'ai récemment vu un certain nombre de problèmes liés à Tornado et il est fort possible que vous en voyiez un autre exemple. Il semble que Windows et Tornado s'emboîtent particulièrement mal.

Je travaille actuellement sur un moteur HTTP alternatif pour py2neo qui pourrait vous aider dans votre cas. Restez à l'écoute et j'espère que votre expérience pourrait s'améliorer!

Cheers, Nige

+0

Merci pour la réponse rapide réponse. Dans l'attente de la prochaine version avec un nouveau moteur HTTP. – darshan

+1

Essayez d'utiliser py2neo 1.3.0 - Tornado a été retiré et remplacé par une variante de httplib qui devrait être beaucoup plus fiable. –

+0

Merci Nigel. J'ai découvert quel était le problème dans mon cas. Comme je l'ai mentionné, j'ai eu besoin de beaucoup de temps pour charger les données sur neo4j. Quelque part entre mon ordinateur portable utilisé pour aller à une sorte de déconnexion ou mode économiseur d'énergie et pourrait fermer les sockets qui sont ouverts ou fermer le module réseau, mais quand py2neo essaie de publier ou d'obtenir à cette URL, il n'y aurait pas de sockets ouverts sur le serveur. C'était la raison pour laquelle les erreurs étaient aléatoires. Mais j'ai trouvé que la version précédente était un peu lente, de toute façon je vais aller de l'avant et utiliser une nouvelle version. Merci pour la mise à jour. – darshan

Questions connexes