मेरे पास काफी बड़ा रेल ऐप है, जो एक अलग सर्वर पर अपने कैश स्टोर के रूप में memcached का उपयोग करता है।गलत कैश्ड ऑब्जेक्ट लौटने वाले मेमचेचे के साथ रेल?
समस्या यह है कि मुझे यादृच्छिक रूप से उत्पादन वातावरण में त्रुटियां मिलती हैं जो प्रतीत होता है कि यह संकेत करने के लिए कि memcached गलत ऑब्जेक्ट लौट रहा है।
उदाहरण:
इस उदाहरण में, current_site
एक सहायक विधि है जो Site
मॉडल मॉडल कैश करने के लिए Rails.cache का उपयोग करता है पर एक विधि पहुँचता
ActionView::TemplateError in ListingsController#edit
undefined method `settings' for #<String:0xb565f8a0>
On line #12 of app/views/layouts/site.html.erb
9: <meta name="robots" content="noodp, all" />
10: <meta name="distribution" content="Global" />
11:
12: <% unless current_site.settings[:google_webmaster_verification_code].blank? %>
13: <meta name="verify-v1" content="<%= current_site.settings[:google_webmaster_verification_code] %>" />
14: <% end %>
15:
के विपरीत है ....
ActionView::TemplateError in ApplicationController#not_found
undefined method `settings' for #<Category:0xd5c6c34>
On line #12 of app/views/layouts/site.html.erb
9: <meta name="robots" content="noodp, all" />
10: <meta name="distribution" content="Global" />
11:
12: <% unless current_site.settings[:google_webmaster_verification_code].blank? %>
13: <meta name="verify-v1" content="<%= current_site.settings[:google_webmaster_verification_code] %>" />
14: <% end %>
15:
जब दोनों को Site
मॉडल लौटाया जाना चाहिए!
कैश अजीब तरीके से व्यवहार का एक और उदाहरण:
ActionView::TemplateError in AccountsController#show
can't convert Category into String
On line #141 of app/views/layouts/site.html.erb
138: <li<%= class="first" if i == 0 %>><%= link_to top_level_category.title, top_level_category.path %></li><% end %>
139: </ul>
140: <% end %>
141: <% cache bottom_pages do %>
142: <ul><% Page.top_level.active.show_in_navigation.find(:all, :include => :slugs).each_with_index do |top_level_page, i| %>
143: <li<%= class="first" if i == 0 %>><%= link_to top_level_page.title, top_level_page.path %></li><% end %>
144: </ul>
किसी को भी इस से पहले की तरह कुछ का सामना करना पड़ा है? किसी को भी इस अप्रिय समस्या का निदान करने पर विचार है !? मैंने memcached क्लाइंट रत्नों को स्विच करने का प्रयास किया है, सोच रहा है कि यह एक अजीब बग था, लेकिन इसका कोई प्रभाव नहीं पड़ा! धन्यवाद।
क्या यह उत्पादन पर्यावरण या विकास मोड में होता है? – pauliephonic