Skip to content

Instantly share code, notes, and snippets.

@dpaluy
Created December 8, 2018 08:26
Show Gist options
  • Select an option

  • Save dpaluy/f66d0362258d4f99c9e7d7ea0f3d9960 to your computer and use it in GitHub Desktop.

Select an option

Save dpaluy/f66d0362258d4f99c9e7d7ea0f3d9960 to your computer and use it in GitHub Desktop.
Passing current_user to Sidekiq
module SidekiqMediator
def perform_async(klass, *args)
args.push(current_user.login)
klass.send(:perform_async, *args)
end
end
# EXAMPLE
class DeliveryController < ApplicationController
include SidekiqMediator
def update
# update attributes
perform_async(DeliveryUpdateWorker, params[:delivery])
# render delivery
end
end
class DeliveryDeleteWorker
include Sidekiq::Worker
def perform(delivery, user_login)
user = User.find_by(login: user_login)
ActivityGenerationService.new(delivery, user) if user
end
end
@dpaluy
Copy link
Author

dpaluy commented Dec 8, 2018

including SidekiqMediator whenever we need to use current_user

@dpaluy
Copy link
Author

dpaluy commented Dec 8, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment