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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top