Synchronization

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 Mutex.new 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

GLOBAL_DATA = Hash.new

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

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

Anyone got any suggestions?

thanks,

Lee

On Jun 16, 10:05am, cipher_neo [email protected] wrote:

GLOBAL_DATA = Hash.new

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

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

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 J.

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