I have a Rails object with after_update
callback that sends a record to a queue. And the problem is that I noticed sometimes the queue is being processed faster
If you consult the Rails documentation you will find a lot of callbacks you can use. The best for this job might be "after_commit":
This is straight from the Rails Docs (link at the bottom)
3.1 Creating an Object
before_validation
after_validation
before_save
around_save
before_create
around_create
after_create
after_save
after_commit/after_rollback
3.2 Updating an Object
before_validation
after_validation
before_save
around_save
before_update
around_update
after_update
after_save
after_commit/after_rollback
3.3 Destroying an Object
before_destroy
around_destroy
after_destroy
Rails DOcs: http://guides.rubyonrails.org/active_record_callbacks.html