sendgrid / eventkit-rails

An open source project for integrating with SendGrid's Event Webhook.
Open Software License 3.0
53 stars 73 forks source link

Request timeout issue on Heroku #17

Open andyhol opened 8 years ago

andyhol commented 8 years ago

Hi,

In the last couple days I started receiving this errors from our Heroku app account.

2016-01-15T16:13:56.982182+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=POST path="/" host=sendgridwebhooks.herokuapp.com request_id=7c9ad137-4e08-4089-8d50-f09d8b7654ab fwd="167.89.121.247" dyno=web.1 connect=2ms service=30000ms status=503 bytes=0

This causes my Heroku app dashboard to crash and not be available for accessing on web.

I mention that I'm not on the free Heroku account .. i have a paid DB in order to increase my storage space and also professional Dyno's for better results.

Can anyone shed some light into this issue?

The Heroku support has give me this response and they advised my to open a issue report here

Our router will drop a long-running request after 30 seconds and throw an H12 error but the dyno behind it will continue processing the request until it is completed. This means that the specific web server process that is processing the longer-running request will not be available to handle new requests until the request it is currently processing is completed. If this happens to a few of your Unicorn workers inside of the same dyno you can start queueing requests at the dyno-level. This effect tends to compound, and you'll see request queueing in New Relic and eventually H12 errors, even for unrelated (normally fast) URLs, such as static assets.

ffcgoering commented 8 years ago

I am also experiencing this same issue, so it seems to not be isolated just to you. Does anybody have any input?

andyhol commented 8 years ago

I've now added rack-timeout ..so requests which take more than 10 sec without being posted are being dropped .. no change .. my app is still down

I contacted Sendgrid .. they said that I need to raise the issue here .. however it seems no one is watching this