What are the pros and cons of doing the following in ActiveJob:
Option A:
# Controller
MyJob.perform_later(object.id)
# my_job.rb
def perform(object_id)
object = Object.find(object_id)
# do stuff
end
Option B:
# Controller
MyJob.perform_later(object)
# my_job.rb
def perform(object)
# do stuff
end
ActiveJob
now uses the new Globalid
library behind the scenes to serialize/deserialize an ActiveRecord instance, therefore you can now pass an ActiveRecord
object.
I personally prefer to keep passing the ID as it makes the code more interoperable with other components and it doesn't tie my code indefinitely to a specific ActiveJob
behavior, but this is more a personal choice.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With