Most developers use ActiveRecord callbacks after_create/after_update/after_destroy to generate background job, expire cache, etc., but they don’t realize these callbacks are still wrapped in database transaction, they probably got unexpected results like the app queued a job but the record is not created/updated(transaction rolled back). For such situations after_commit callback should be used. after_commit is introduced … Continue reading ActiveRecord after_commit hook

Read more at the source