Documentation is an excelent solution :) On Fri, Oct 3, 2014 at 10:57 PM, Eric Wong <[email protected]> wrote: > Bráulio Bhavamitra <[email protected]> wrote: >> I think the hook is needed because I took too much time to figure out >> the problem and much more time to figure out the solution (this >> master_run variable). Also, I don't think this master_run solution is >> elegant. > > A guard variable is fairly common practice for initialization. > It's not always nice, but I do not consider the existing hooks > to be elegant, either; they're only unfortunately necessary. > > I consider having redundant features to be even worse. > > How about the following documentation change instead? > > --- a/examples/unicorn.conf.rb > +++ b/examples/unicorn.conf.rb > @@ -54,12 +54,23 @@ GC.respond_to?(:copy_on_write_friendly=) and > # fast LAN. > check_client_connection false > > +# local variable to guard against running a hook multiple times > +run_once = true > + > before_fork do |server, worker| > # the following is highly recomended for Rails + "preload_app true" > # as there's no need for the master process to hold a connection > defined?(ActiveRecord::Base) and > ActiveRecord::Base.connection.disconnect! > > + # Occasionally, it may be necessary to run non-idempotent code in the > + # master before forking. Keep in mind the above disconnect! example > + # is idempotent and does not need a guard. > + if run_once > + # do_something_once_here ... > + run_once = false # prevent from firing again > + end > + > # The following is only recommended for memory/DB-constrained > # installations. It is not needed if your system can house > # twice as many worker_processes as you have configured.
-- "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua ideologia. Morra por sua ideologia" P.R. Sarkar EITA - Educação, Informação e Tecnologias para Autogestão http://cirandas.net/brauliobo http://eita.org.br "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de extroversão e introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a única proprietária daquilo que ela imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha por um milharal também imaginado, a pessoa imaginada não é a propriedade desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso a propriedade deste universo é de Brahma, e não dos microcosmos que também foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo, mutável ou imutável, pertence a um indivíduo em particular; tudo é o patrimônio comum de todos." Restante do texto em http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia
