J'utilise mod-wsgi avec django, et dans django j'utilise pylucene pour faire une recherche plein texte.jcc.initVM() ne retourne pas lorsque mod_wsgi est configuré en mode démon
Alors que mod-wsgi est configuré pour être en mode intégré, il n'y a aucun problème. Mais quand mod-wsgi est configuré pour être en mode démon, l'apache reste coincé, et le navigateur continue à charger mais rien ne s'affiche. Puis j'identifie le problème à jcc.initVM(). Voici mon script wsgi:
import os, sys, jcc
sys.stderr.write('jcc.initVM\n')
jcc.initVM()
sys.stderr.write('finished jcc.initVM\n')
....
Après avoir redémarrer mon apache, et faire une demande de mon navigateur, je trouve que /var/log/apache2/error.log a seulement:
jcc.initVM
Cela signifie qu'il est bloqué sur la ligne jcc.initVM(). (Si le mod_wsgi est configuré en mode intégré, il n'y a pas de problème.)
Et voici mon/etc/apache2/sites disponibles/default:
WSGIDaemonProcess site user=ross group=ross threads=1
WSGIProcessGroup site
WSGIScriptAlias//home/ross/apache/django.wsgi
<Directory /home/ross/apache/>
Order deny,allow
Allow from all
</Directory>
Et enfin, je trouve que dans le code source de jcc (jcc.cpp), il se bloque à la fonction:
JNI_CreateJavaVM(&vm, (void **) &vm_env, &vm_args)
Comment résoudre le problème?
versions du programme:
libapache2-mod-wsgi 2.3-1
jcc 2.1
python 2.5
Apache 2.2.9-8ubuntu3
Ubuntu 8.10