flagsmith-python-client icon indicating copy to clipboard operation
flagsmith-python-client copied to clipboard

Local evaluation with multiprocessing environment

Open andreamouraud opened this issue 1 year ago • 0 comments
trafficstars

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). 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 or a redis?

andreamouraud avatar Mar 05 '24 10:03 andreamouraud