Monday, February 21, 2011

Share data between mod_python processes

I'm running mod_python under Apache. If I've understood correctly, each Apache process runs its own Python interpreter.

What would be the best way to share a tiny amount of data across all the processes? I'm talking about just a few hundred bytes here, making something database based completely overkill.

From stackoverflow
  • Put it in shared memory.

    pafcu : Actually the author of sysv_ipc seems to recommend using posix_ipc instead.
  • The quickest way is to use file IO. One process writes the file and the other reads it. You can use the mmap module to make this a little more seamless. One interesting alternative that I haven't tried (yet) is to use some derivative of multiprocessing.Manager to communicate between the processes. I haven't tried the latter, I was looking for some way to create a process-shared semaphore.

0 comments:

Post a Comment