Compartilhe dados entre os processos mod_python
-
23-09-2019 - |
Pergunta
Estou executando mod_python no Apache. Se eu entendi corretamente, cada processo Apache executa seu próprio intérprete Python.
Qual seria a melhor maneira de compartilhar uma pequena quantidade de dados em todos os processos? Estou falando de apenas algumas centenas de bytes aqui, fazendo algo baseado em um banco de dados completamente exagerado.
Solução
Coloque dentro memoria compartilhada.
Outras dicas
A maneira mais rápida é usar o arquivo io. Um processo grava o arquivo e o outro lê. Você pode usar o mmap
Módulo para tornar isso um pouco mais contínuo. Uma alternativa interessante que ainda não tentei é usar algum derivado de multiprocessing.Manager
para se comunicar entre os processos. Não experimentei o último, estava procurando uma maneira de criar um semáforo compartilhado de processo.