2014-05-15 2 views
1

Je souhaite me connecter à un utilisateur donné à partir d'un job d'arrière-plan? Par exemple. déconnecter un utilisateur donné d'un worker de fond Sidekiq. Une idée de comment je peux accéder à la méthode sign_out de l'ouvrier?Rails: Appelez sign_out (@user) à partir d'un worker d'arrière-plan

class SessionWorker 
    include Sidekiq::Worker 
    sidekiq_options retry: false 

    def perform(user_id) 
     # user = User.find(user_id) 
     # sign_out(user) if user 
    end 
    end 
end 

Répondre

0

pas 100% sûr, mais:

Je ne pense pas que cela est possible parce que lorsque vous exécutez le code d'un travailleur de fond, ce code est exécuté dans un contexte différent de votre application web et donc n'a pas accès à la session de gardien où le login est 'enregistré'.

+0

Mais j'ai accès sur tous les modèles Rails. Donc, pourquoi il n'est pas possible de coder certaines lignes pour se déconnecter du modèle. par exemple. 'u = Utilisateur.find (1) u.sign_out ' – phlegx

Questions connexes