Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#62 3 comentários 0 reações 1 responsável Ver no GitHub

@zachaysan já está trabalhando nisso.

Desde 18/6/2024.

Avaliação

Esta issue ainda não foi avaliada.

Descrição

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)

Linguagem predominante
Ruby
Estrelas
12
Forks
7
Merge médio
2h 19min
PRs com merge (30d)
2

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Flagsmith/flagsmith-ruby-client

Todas as issues de Flagsmith/flagsmith-ruby-client

Issues semelhantes

Mais issues de Ruby

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.