flagsmith-python-client
flagsmith-python-client copied to clipboard
Local evaluation with multiprocessing environment
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?