2010-02-27 9 views
1

J'utilise mod_python sous Apache. Si j'ai bien compris, chaque processus Apache exécute son propre interpréteur Python.Partager des données entre les processus mod_python

Quelle serait la meilleure façon de partager une infime quantité de données dans tous les processus? Je ne parle ici que de quelques centaines d'octets, ce qui crée une base de données complètement dépassée.

Répondre

1

Mettez-le dans shared memory.

+0

En fait, l'auteur de sysv_ipc semble recommander l'utilisation de posix_ipc à la place. – pafcu

1

Le moyen le plus rapide est d'utiliser le fichier IO. Un processus écrit le fichier et l'autre le lit. Vous pouvez utiliser le module mmap pour rendre cela un peu plus transparent. Une alternative intéressante que je n'ai pas encore essayée est d'utiliser une dérivée de multiprocessing.Manager pour communiquer entre les processus. Je n'ai pas essayé ce dernier, je cherchais un moyen de créer un sémaphore à processus partagé.