Flagsmith / Flagsmith/flagsmith-ruby-client

Rails apps with puma on cluster mode not catching up flag changes when local evaluation is enabled

Abierto
#62 3 comentarios 0 reacciones 1 asignado Reclamado por @zachaysan Ver en GitHub
Lenguaje dominante
Ruby
Estrellas
12
Forks
6
Merge medio
28 min
PR fusionados (30 d)
1

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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.