Thread safety in Rails and ActiveRecord

This is just a quick post to make this point more accessible to the great oracle that is Google.

If you are using multiple threads (or forking a daemon process) which interact with ActiveRecord, add this line to your code before using the DB connection:


ActiveRecord::Base.allow_concurrency = true

If you don’t, you’ll get intermittent errors of the form:


Mysql::Error: Lost connection to MySQL server during query:

There. I’ve done my part.


Fork and edit this post on Github.