I am looking for a way to synchronize access to a shared data
structure in a standard rails app.

I read that if you are running on passenger, then is of no
use? Can somebody please clarify this?

I know that I can use transaction and :lock => true to do db level
locking on models, but I have a global hash defined in an initializer
as such


and I am storing data in it that will be accessed by multiple

I would simply like to wrap access to this structure in some kind of

Anyone got any suggestions?



Um, how's "don't do this" work for you? Seriously - this is an
amazingly bad idea, especially once you consider scaling past one
application server. Is there a reason this data couldn't just be
stashed in the DB somehow?

--Matt Jones

I think you are right, there is no particular reason why I could not
put it in the db,
except for the fact that it is data that should only live while the
app is running.

It need not be persistent across server restarts for instance