Sidekiq无法正常使用公寓宝石

时间:2014-07-30 06:28:17

标签: ruby-on-rails ruby

我在我的一个项目中使用了公寓宝石。我需要在每个租户中记录一种特定类型的活动。为此,我创建了一个排除模型,并在活动发生的操作中添加了记录它的函数。由于我尝试记录的数据,运行此方法时会运行大量查询。因此,我决定将其移至背景工作者(Sidekiq)。但是,当工人说它的错误就像是。

  

nil类的未定义方法名称

现在提供此错误的代码是post.author.name

如果我们直接调用它,这段代码可以正常工作,但是当我们通过sidekiq执行时,它会中断。此问题是否曾发生在其他人之前?任何已知的解决方案?

工作人员代码是

def perform(post_id, subdomain)
  LogTransaction.create_post(post_id, subdomain)
end

LogTransaction.create_post

   def self.create_post post_id, subdomain
      post = Post.find(post_id)
      Apartment::Tenant.switch('public')
      create(post_name: post.name, subdomain: subdomain, author_name: post.author.name)
   end

1 个答案:

答案 0 :(得分:2)

在您的应用程序中使用此gem,此gem将存储启动作业的模式,并将在该模式中运行。

https://github.com/influitive/apartment-sidekiq