In this situation I would think you'd want to upload to s3 directly and the fire off a background worker to go and do the resizing for you. That would keep your web dynos available to serve your requests.
Mike On Feb 17, 2011, at 6:23 AM, Christos Zisopoulos <[email protected]> wrote: > On 17 Feb 2011, at 04:40, Adam Wiggins wrote: > >> In the meantime, you shouldn't have any difficulties as long as you >> keep your web requests short (less than about 500ms), which is good >> practice anyway. > > Nice to know you are working on it. I was bitten by this badly[1], because I > assumed the docs where correct although my observing of the logs hinted > otherwise. > > One scenario where you can't keep your requests under 30s is file upload w/ > post processing. > > If for example you have a 2MB image that you need to upload, post-process 4 > versions, and then upload to S3, you could be looking at 30-60s per request. > > Interface-wise this is acceptable (you can fake a file upload bar), but > obviously it will either fail, or leave a dyno blocked but available as far > as the routing mesh is concerned. > > If you have 5 dynos serving your app really fast (200ms), and 3 get blocked > in a file upload operation for a long time (40secs), then New Relic is going > to have field day sending you site downtime alerts... > > The rack-timeout solution could mitigate the 'false' New Relic alerts, but > obviously your file uploads will fail intermittently. > > -christos > > [1] http://bit.ly/eqK79C > > > -- > You received this message because you are subscribed to the Google Groups > "Heroku" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/heroku?hl=en. > -- You received this message because you are subscribed to the Google Groups "Heroku" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/heroku?hl=en.
