On Nov 5, 5:14 pm, Ramon Tayag <
ra...@tayag.net> wrote:
> Hey - I need your input regarding a problem I've come across. I'll first
> explain what the problem is, and what I think the solution is. If I
> misunderstood how things work, please let me know.
>
> # The problem
>
> I'm using Dragonfly (on-the-fly file processing) to serve images. Dragonfly
> uses Rack::Cache to cache the processed images so subsequent requests are
> served by Rack::Cache. The problem lies in Rack::Cache getting too busy
> serving images. I thought the fix would be to let Rack::Cache use Apache's
> X-Sendfile to serve images. You can read my journey in a StackOverflow
> question I posted <
http://stackoverflow.com/q/7980106/61018>.
>
Not really answering your question, but I've handled this situation by
putting varnish in front of apache.
Fred
> # The solution
>
> The solution would be to enable whatever's needed to get Rack::Cache to
> serve files using X-Sendfile through Rack::Sendfile. After poking around
> Rack::Cache, I found out that none of the Rack::Cache Entitystores are used
> -- what's being used is Rails' own storage
> solution<
https://github.com/rails/rails/blob/3-1-stable/activesupport/lib/acti...>
> .
>
> Is there a reason that FileStore doesn't support Rack::Sendfile at the
> moment (why it uses Marshal)? What would be the easiest way to get to what
> I need? Can I just tell Rails to use Rack::Cache's Disk entitystore? If
> not, what do you guys think of letting the *body* of the *response* of *
> FileStore* (yes, a bit of a mouthful) to respond to `to_path`?
>
> Thanks!
> Ramon Tayag