2012-07-31 157 views
0

我正在使用py2neo訪問neo4j數據庫。我正在從文本文件中的數據加載圖形。py2Neo投擲py2neo.rest.NoResponse異常

由於我的數據集有大約一百萬個節點,加載整個數據集需要相當長的時間。之間的某處,代碼會拋出py2neo.rest.NoResponse。我曾嘗試多次運行代碼。它在不同的點失敗。我在錯誤中看不到任何模式。我的意思是我沒有看到由於文件中的數據而導致的任何錯誤,或者它沒有在文件中的同一點上失敗。我從我的日誌文件知道這一點。

錯誤堆棧跟蹤如下:

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' 

有誰穿過同樣的錯誤來了?請讓我知道解決方案。

我不確定這些信息是否有幫助。我使用以下版本:的Python 2.6.6與py2neo,你有py2neo-1.2.15

回答

3

對不起問題。在這種情況下很難看到可能導致錯誤的原因,因爲您認爲它在重負載下隨機重複發生。

我的猜測是,你正在看到某種形式的資源飽和,並達到了一個限制,從而阻止了任何進一步的HTTP連接。我最近看到了一些與旋風有關的問題,你很可能會看到另一個例子。看起來Windows和Tornado特別糟糕。

我目前正在py2neo的替代HTTP引擎,這可能會幫助你的情況。敬請期待,希望您的體驗可能會改善!

乾杯, 尼日爾

+0

感謝您的響應快速響應。期待新的HTTP引擎的下一個版本。 – darshan 2012-08-08 06:55:50

+1

嘗試使用py2neo 1.3.0 - 龍捲風已被剝離出來,取而代之的是一個httplib變體,它應該更加可靠。 – 2012-08-17 11:00:43

+0

謝謝奈傑爾。我發現我的情況有什麼問題。正如我所提到的,我需要很長時間才能將數據加載到neo4j。在我的筆記本電腦之間的某處用於進入某種註銷或省電模式,並可能關閉打開或關閉網絡模塊的套接字,但當py2neo嘗試發佈或獲取該網址時,將不會打開套接字在服務器上。這就是爲什麼隨機發生錯誤的原因。但是我發現以前的版本有點慢,反正我會繼續使用新版本。感謝更新。 – darshan 2012-08-22 12:12:36