Flagsmith / Flagsmith/flagsmith-python-client

Local evaluation with multiprocessing environment

Abierto
#77 0 comentarios 1 reacción 2 asignados Asignado a @khvn26 Ver en GitHub
bug
Lenguaje dominante
Python
Estrellas
24
Forks
12
Merge medio
15 h 43 min
PR fusionados (30 d)
4

Descripción

## What
When running the client with local evaluation in a gunicorn server (or any multiprocessed environment), the workers environment is never updated

## Why
Gunicorn is designed around the pre-fork worker model (see [docs](https://docs.gunicorn.org/en/stable/design.html#server-model)). When instantiating the Flagsmith client, the polling updates the `_environment` variable in the master worker, but these changes will not affect the other workers. We would need to run a polling thread for each worker, which is not ideal

## Sharing the `_environment` between workers
Would you be open to a new feature that would allow pickling and sharing the data between processes using a [multiprocessing.Manager](https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Manager) or a redis?

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.