2015-11-24 20 views
0

使用Rails 4和Mongoid 5.0.1Mongoid 5在日誌中顯示重複查詢

我們的日誌輸出顯示幾乎所有的查詢都是重複的。有一陣子,我以爲那只是雙輸出,但仔細一看執行的時間是不同的,這說明它實際上是發送兩次請求

d_562b2d81a54d7550ce000031.find | STARTED | {"find"=>"deals", "filter"=>{"contact_id"=>BSON::ObjectId('563bcb9da54d75116500010b')}} 
d_562b2d81a54d7550ce000031.find | SUCCEEDED | 0.001186s 

d_562b2d81a54d7550ce000031.find | STARTED | {"find"=>"deals", "filter"=>{"contact_id"=>BSON::ObjectId('563bcb9da54d75116500010b')}} 
d_562b2d81a54d7550ce000031.find | SUCCEEDED | 0.0013s 

這種行爲似乎適用於大多數查詢,但不是全部,有時特定查詢只調用一次。當查詢針對mongoid.yml中指定的數據庫並且是Web請求中的第一個時,這些似乎就會發生。

此行爲發生在Web請求中,而且Rails控制檯中的任何查詢都會輸出兩個日誌行。它發生在「位置」的查詢,並在「發現」太

由於這是一個多租戶應用程序,我們在大多數模型如下:

store_in database: -> { Machine.current.database_name } 

爲機的集合(與用戶一起)存儲在master _#{Rails.env}數據庫中

重複請求(在日誌中)都是針對正確的數據庫,所以這可能是一個紅鯡魚。

當我們在Mongoid 3上時,這個問題從來沒有出現過,但Mongoid 5有更好的日誌記錄,所以這個問題可能也存在,但是沒有被注意到。

+0

嗨,我也注意到了這一點,在這方面的任何進展,我看到5個查詢在執行更新時找到相同的記錄 – user2076066

+0

不,無 - 仍然看到2個查詢 –

回答

0

其實我懷疑這是一個叫bullet的寶石造成重複日誌。把它關掉解決我的問題。