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
ActiveJobnow uses the newGlobalidlibrary behind the scenes to serialize/deserialize an ActiveRecord instance, therefore you can now pass anActiveRecordobject.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
ActiveJobbehavior, but this is more a personal choice.