Project is being serialized when enqueueing to sidekiq
def enqueue_private_features_worker project_ids.each do |project_id| TodosDestroyer::PrivateFeaturesWorker.perform_async(project_id, user.id) end end
project_ids here is actually a relation so
project_id is an
We should only pass ids to workers so the whole object doesn't need to be serialized in Redis.
We should also consider renaming the method to
projects to prevent confusion. Note that
#project_ids is overriden from
Todos::Destroy::BaseService so we probably still need a
Aside from the unnecessary serialization / deserialization, the code should be working fine because it's just passed from the worker to the service and into
ProjectFeature.where(project_id: project_ids) which should properly handle either ids or objects.