我有一個工作在只讀模式下的Django網站,以及一個用於填充MongoDB(由Django讀取)的離線python應用程序。面對一些鎖問題,我發現一個複製集會是一個改進,因爲我可以使輔助實例成爲網站數據庫。Django mongoengine odm在副本集上使用輔助實例
起初我只是改變了我的第二個實例主機連接,並得到了錯誤:
Request Method: GET
Request URL: http://localhost:8000/awesomeApp/
Django Version: 1.5
Exception Type: AutoReconnect
Exception Value:
not master
在那之後,我試着註冊的連接來解決這個問題,但沒有成功,再後來升級到mongoengine 0.8.7,可與連接:
connect('awesomeApp', host='mongodb://rs63804-a0.mongoserviceprovider.com:27017,rs63804-a1.mongoserviceprovider.com:27017', replicaSet='rs63804', read_preference=ReadPreference.SECONDARY_PREFERRED, username='scott', password='tiger')
但現在我得到兩個不同的錯誤消息,當我使用ReadPreference.PRIMARY_PREFERRED或ReadPreference.SECONDARY_PREFERRED ...
隨着PRIMARY_PREFERRED返回:
Request Method: GET
Request URL: http://localhost:8000/awesomeapp/
Django Version: 1.5
Exception Type: OperationFailure
Exception Value:
not authorized to create index on awesomeapp.django_session
而且隨着SECONDARY_PREFERRED:
Request Method: GET
Request URL: http://localhost:8000/awesomeapp/
Django Version: 1.5
Exception Type: OperationFailure
Exception Value:
database error: not authorized for query on awesomeapp.django_session
我stucked在此步驟中,尋找一種方式,以允許通過mongoengine和/或MongoDB的CONFIGS該操作,但還找不到解決方案..任何意識?
在此先感謝