4

私は、Rails 4 と印象派と resque gem を使用しています。

印象派を使用して、記事の表示ページにユニークなセッション ヒットを記録しています。パフォーマンスの問題と、ヒットをユーザーに表示する必要がない (管理者のみ) ため、インプレッションの記録をバックグラウンドに移行したいと考えています。

通常、私はインプレッションを使用してログに記録しますimpressionist(@article, unique: [:session_hash])が、resque を介して bg に移動するには、次のようなことをしています...

記事_コントローラ:

def show
  .
  .
  .
  Resque.enqueue(ImpressionLogger, @article.id)
end

app/workers/impression_logger.rb:

class ImpressionLogger 

  @queue = :impression_queue

  def self.perform(article_id)
    article = Article.find(article_id)
    impressionist(article, unique: [:session_hash])
  end

end

このように設定すると、 resque がジョブを処理しようとすると、 が返されundefined method "impressionist" for ImpressionLogger:Classます。皆さんは、これについて最善の方法は何だと思いますか? resque ワーカー内に印象派のメソッドを含める方法がわかりません。

4

3 に答える 3