延迟作业中的DELAYED_JOB Update_attribute不起作用,表未更新



我一直想做延迟::工作来做fbLikes(我在StackOverFlow上发布了很多,但仍然没有解决问题)我的表n数据库有name,id,fbLikes,fbId,url。这是我的程序步骤。[首页]公司列表 -> 创建公司[插入公司信息] ->保存 fbId、名称、ID、网址,但不能保存 fblikes ->重定向到主页 [after_save 更新之前添加的公司的 fbLikes]

不确定我延迟的工作是否有效,因为我的模型中的 fbLikes 仍然是空白的,并且没有使用最新的 fbLikes 进行更新。我不确定是否有更好的方法来做到这一点。对于"耙子作业:工作",控制台中没有后台工作显示。

[模型公司.rb]

require "delayed_job"
require "count_job.rb"
after_save :fb_likes
def fb_likes    
    Delayed::Job.enqueue(CountJob.new(self.id))
end

[lib/count_job.rb]

require 'net/http'
require 'company.rb'
class CountJob < Struct.new(:id)        
  def perform
    @company = Company.find(id)
    uri = URI("http://graph.facebook.com/#{@company.fbId}")
    data = Net::HTTP.get(uri)
    @company.fbLikes= JSON.parse(data)['likes']
    @company.save!
  end
end

[MODEL company.rb]

require "delayed_job"
require "count_job.rb"
after_save :fb_likes
def fb_likes    
    Delayed::Job.enqueue(CountJob.new(self.id))
end

[lib/count_job.rb]

require 'net/http'
require 'company.rb'
class CountJob < Struct.new(:id)        
  def perform
    @company = Company.find(id)
    uri = URI("http://graph.facebook.com/#{@company.fbId}")
    data = Net::HTTP.get(uri)
    @company.fbLikes= JSON.parse(data)['likes']
     @company.save!
   end
 end

相关内容

  • 没有找到相关文章

最新更新