1
我想将一些会话控制器进程移动到Resque工作器中,以使日志记录更平滑。我想从这里移动部分:如何将此控制器代码移至Resque作业?
def create
auth = request.env["omniauth.auth"]
omniauth = request.env["omniauth.auth"]
user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth,omniauth)
session[:user_id] = user.id
session['fb_auth'] = request.env['omniauth.auth']
session['fb_access_token'] = omniauth['credentials']['token']
session['fb_error'] = nil
@graph = Koala::Facebook::GraphAPI.new(current_user.token)
current_user.profile = @graph.get_object("me")
current_user.likes = @graph.get_connections("me", "likes")
current_user.friends = @graph.get_connections("me", "friends")
current_user.save
redirect_to root_url
end
进入一个Resque工人(是在/任务?)
#ResqueFacebook.rb
require 'resque-retry'
Class FBResque
def self.perform()
@graph = Koala::Facebook::GraphAPI.new(current_user.token)
current_user.profile = @graph.get_object("me")
current_user.likes = @graph.get_connections("me", "likes")
current_user.friends = @graph.get_connections("me", "friends")
current_user.save
end
End
添加我什么会话控制器初始化工人的工作吗?另外,因为它不再存在于会话中,current_user将是一个无对象。这是否意味着工人中的代码必须位于User循环中的用户中?
会给这个镜头。呃,不太确定。哎呦。你只是想介绍一下'fb_connections'符号吗? – Simpleton
@Simpleton它的队列名称如果你还没有弄清楚。 – Autodidact
@Millisami是的。很难理解我是如何不理解符号的。 – Simpleton