ruby-on-rails - example - ruby after_create
Comprender la devoluciĆ³n de llamada after_update en Rails 4 (2)
Si consulta la documentación de Rails, encontrará muchas devoluciones de llamada que puede usar. Lo mejor para este trabajo podría ser "after_commit":
Esto es directamente de los Documentos de Rails (enlace en la parte inferior)
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
Tengo un objeto Rails con after_update
llamada after_update
que envía un registro a una cola. Y el problema es que noté que a veces la cola se procesa más rápido de lo que el objeto realmente se está actualizando.
Mi pregunta: ¿se after_update
llamado a after_update
no después de que finalizó la actualización del objeto, sino cuándo comenzó? ¿Qué devolución de llamada necesito si quiero hacer algo con ella solo después de que la actualización sea exitosa?
after_save
, after_create
, after_update
se llaman dentro del bloque de transacción, por lo que se ejecutarán antes de ejecutar la instrucción SQL.
Si desea hacer algo cuando se completa la ejecución de la instrucción, debe usar after_commit callback.