Flagsmith / Flagsmith/flagsmith-ruby-client
Rails apps with puma on cluster mode not catching up flag changes when local evaluation is enabled
- Dominant language
- Ruby
- Stars
- 12
- Forks
- 6
- Avg merge
- 28m
- Merged PRs (30d)
- 1
Description
### Context
When the following conditions are met, the local environment of the rails server does not refresh the flag states...the environment document request actually happens, tough.
- rails app
- puma (on cluster mode - even with 1 worker 1 thread)
- local evaluation enabled
- booting with `rails s` command
### Steps to reproduce
- Create a new rails app
- Configure puma with cluster mode (set a value above zero for `workers` on `config/puma.rb`)
- Create an initializer, defining the global variable, just like the documentation shows. Local evaluation must be enabled
- boot the server with `rails s`
- check if the flagsmith client is responding to flag state changes on the flagsmith dashboard between every environment document request
### Useful info
- Works normally with puma on single mode
- Puma worker and thread count does not matter to the issue
- On puma cluster mode, it seems like there is something wrong with the puma boot using the `bundle exec rails s` command, since running `bundle exec puma -t 1:1 -w 1:1` looks fine
- Worth mentioning that the local evaluation on the `rails c` console, the normal behavior occurs
- Tested on macOs Ventura 13.6.7 (M1 chip) and Ubuntu 22 (x64)
### Example project
https://github.com/Guilherme2112/flagsmith-rails-example
(basic instructions at README)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.