Flagsmith / Flagsmith/flagsmith-python-client

Local evaluation with multiprocessing environment

未关闭
#77 0 条评论 1 个 reaction 已指派 2 人 已指派给 @khvn26 在 GitHub 查看
bug
主要语言
Python
星标
24
派生
12
平均合并
15 小时 43 分钟
30 天内合并 PR
4

描述

## 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?

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。