我在基於django的站點中使用pylucene,我想知道是否有人知道啓動jvm和attach線程的最佳位置。我不希望每次有人加載頁面時都要啓動新的jvm,但是當我在搜索時附加線程時,偶爾會在django中看到隱藏的「無法導入名稱」錯誤。在Django中使用pylucene時,執行initVM和attachCurrentThread的最佳位置是什麼
在views.py中附加線程是否是一個錯誤?
編輯:我專門尋找一種方式來實例化一個JVM,讓它運行,所以需要我就可以連接線程它。實例化jvm大約需要兩秒鐘,搜索時這是一個明顯的延遲。
在settings.py文件中,甚至似乎jvm正在每個頁面加載實例化。 Django有什麼方法只能在服務器重置時運行某些內容,而不是在每個頁面加載時運行? – Skunkwaffle
我認爲這取決於你如何在你的項目中導入設置。如果您只在應用程序中執行'輸入設置',則會多次加載模塊。相反,總是從'django.conf導入設置'執行'。據我所知,您的原始設置文件將只在服務器啓動時加載一次。 –
如果仍然不能解決問題,你可以考慮修改'manage.py'(development)或者你的wsgi腳本(production)。只有'initVM',它只會加載一次。 –