william.harding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2009-Jan-28 06:27 UTC
Missing Image RoutingError = TOO SLOW
My development setup gets its data from our production database, and this production database refers to a bunch of images that aren''t available on my local machine, thus when running development I get a large number of Rails RoutingErrors, which I don''t really mind. What I *do* mind is that catching every one of these errors takes about 2-4 seconds, even with my quad-core desktop. If I try to load a page with 5 missing images, it will probably be 20 seconds before I can visit another page. Has anyone else experienced this and thought up a clever workaround? I had hoped that using rescue_from(ActionController::RoutingError) { |e| render :nothing => true } in my application controller would fix it, but it just serves to make the exception not print out its text. It still takes the regular amount of time per image for the exception to be caught and ignored. Thank you greatly for any insights into how I might improve this. Bill --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Write a helper that wraps image_tag that checks to see whether you are on your production box. Iff you are on the production box, then image_tag it is, otherwise, some placeholder image guaranteed to be local in your images dir. Will that work? On Jan 27, 2009, at 10:27 PM, william.harding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote:> > My development setup gets its data from our production database, and > this production database refers to a bunch of images that aren''t > available on my local machine, thus when running development I get a > large number of Rails RoutingErrors, which I don''t really mind. > > What I *do* mind is that catching every one of these errors takes > about 2-4 seconds, even with my quad-core desktop. If I try to load a > page with 5 missing images, it will probably be 20 seconds before I > can visit another page. > > Has anyone else experienced this and thought up a clever workaround? > I had hoped that using > > rescue_from(ActionController::RoutingError) { |e| render :nothing => > true } > > in my application controller would fix it, but it just serves to make > the exception not print out its text. It still takes the regular > amount of time per image for the exception to be caught and ignored. > > Thank you greatly for any insights into how I might improve this. > Bill > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
william.harding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2009-Jan-29 23:15 UTC
Re: Missing Image RoutingError = TOO SLOW
Ah, definitely thinking along the right lines... then I''d just have to figure out some way to determine if the file actually existed on the machine or not. Which could probably be done, if not super efficiently. I''ll keep this in mind as a potential solution, thanks for your idea. If anyone else has any other ideas, I''d be open to those as well. Thanks, Bill On Jan 27, 10:58 pm, "s.ross" <cwdi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Write a helper that wraps image_tag that checks to see whether you are > on your production box. Iff you are on the production box, then > image_tag it is, otherwise, some placeholder image guaranteed to be > local in your images dir. > > Will that work? > > On Jan 27, 2009, at 10:27 PM, william.hard...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote: > > > > > My development setup gets its data from our production database, and > > this production database refers to a bunch of images that aren''t > > available on my local machine, thus when running development I get a > > large number of Rails RoutingErrors, which I don''t really mind. > > > What I *do* mind is that catching every one of these errors takes > > about 2-4 seconds, even with my quad-core desktop. If I try to load a > > page with 5 missing images, it will probably be 20 seconds before I > > can visit another page. > > > Has anyone else experienced this and thought up a clever workaround? > > I had hoped that using > > > rescue_from(ActionController::RoutingError) { |e| render :nothing => > > true } > > > in my application controller would fix it, but it just serves to make > > the exception not print out its text. It still takes the regular > > amount of time per image for the exception to be caught and ignored. > > > Thank you greatly for any insights into how I might improve this. > > Bill--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Well, you only need to tell if the file exists if you care about that. In dev, you may not. Try something like: def wrapped_image_tag(image_name, options={}) image_name = ''placeholder.png'' if `hostname` =~ /local/ image_tag(image_name, options) end You may wind up with a page of placeholder.png''s but it''ll be real quick. On Jan 29, 2009, at 3:15 PM, william.harding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote:> > Ah, definitely thinking along the right lines... then I''d just have to > figure out some way to determine if the file actually existed on the > machine or not. Which could probably be done, if not super > efficiently. > > I''ll keep this in mind as a potential solution, thanks for your idea. > If anyone else has any other ideas, I''d be open to those as well. > > Thanks, > Bill > > On Jan 27, 10:58 pm, "s.ross" <cwdi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> Write a helper that wraps image_tag that checks to see whether you >> are >> on your production box. Iff you are on the production box, then >> image_tag it is, otherwise, some placeholder image guaranteed to be >> local in your images dir. >> >> Will that work? >> >> On Jan 27, 2009, at 10:27 PM, william.hard...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote: >> >> >> >>> My development setup gets its data from our production database, and >>> this production database refers to a bunch of images that aren''t >>> available on my local machine, thus when running development I get a >>> large number of Rails RoutingErrors, which I don''t really mind. >> >>> What I *do* mind is that catching every one of these errors takes >>> about 2-4 seconds, even with my quad-core desktop. If I try to >>> load a >>> page with 5 missing images, it will probably be 20 seconds before I >>> can visit another page. >> >>> Has anyone else experienced this and thought up a clever workaround? >>> I had hoped that using >> >>> rescue_from(ActionController::RoutingError) { |e| render :nothing => >>> true } >> >>> in my application controller would fix it, but it just serves to >>> make >>> the exception not print out its text. It still takes the regular >>> amount of time per image for the exception to be caught and ignored. >> >>> Thank you greatly for any insights into how I might improve this. >>> Bill > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---