2015-04-06 22 views
0

是否可以從Sidekiq worker通過Mongoid編寫MongoDB文檔? 如何在Sidekiq worker中調用Mongoid模型?

# lib/worker.rb 
require 'sidekiq' 
require 'model' # lib/model.rb 
class AwesomeWorker 
    include Sidekiq::Worker 
    def perform 
    RandomNumberModel.create! { random_number: Random.new.rand(1..100) } 
    end 
end 

當我運行Sidekiq返回uninitialized constant AwesomeWorker::RandomNumberModel

我做錯了什麼?

回答

0

try :: RandomNumberModel.create! {RANDOM_NUMBER:Random.new.rand(1..100)}

如果失敗的話,你沒有在路徑錯誤到所需的文件

+0

謝謝。我已經嘗試了在worker外部調用模型的方法,將'object_id'傳遞給worker和'ObjectSpace._id2ref'。但它是一種骯髒的黑客。所以實際上'$:'引起了這個問題。 – askhat 2015-04-06 15:01:21

0

也許是任何人的幫助:)

您必須在app > workers文件夾下創建您的工作人員。那麼每個模型都將很容易在那裏訪問。

# app/workers 
class AwesomeWorker 
    include Sidekiq::Worker 
    def perform 
    RandomNumberModel.create! { random_number: Random.new.rand(1..100) } 
    end 
end 
相關問題