mirror of
https://github.com/healthchecks/healthchecks.git
synced 2026-04-25 23:15:49 +03:00
[GH-ISSUE #569] Webhook timeout #414
Labels
No labels
bug
bug
bug
feature
good-first-issue
new integration
pull-request
question
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/healthchecks#414
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Sa6SFKPH8 on GitHub (Oct 12, 2021).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/569
Is there a way to set the timeout length for webhook integrations?
We have established a webhook to an internal service that works perfectly. The notification is sent and received 100% of the time. However when testing the webhook, 95+% of the time, the system indicates that the test failed and the integration is broken (screen capture attached). Very rarely, the system does acknowledge the test as successful so this appears to be a timeout issue.
Finally, thanks for an immensely useful and elegant platform.
@cuu508 commented on GitHub (Oct 13, 2021):
The timeout is for outgoing webhooks is 5 seconds and currently cannot be changed.
My concern with raising webhook timeout is that slow webhooks can block other outgoing notifications. There is a fixed number of worker processes working through outgoing notifications. If they all are busy waiting on a slow-to-respond webhook, then other notifications get delayed.
What is the typical response time, and what would be the optimal timeout value for your webhook?
@Sa6SFKPH8 commented on GitHub (Oct 13, 2021):
The response time in our case is very close to 5 seconds which is probably why it occasionally succeeds. It is never more than 10 seconds when successful, but that will not be universally applicable.
@cuu508 commented on GitHub (Oct 14, 2021):
I've now changed the timeout to 10 seconds and changed the retry logic to cap the max time spent to 20 seconds.
In other words, the last retry may or may not run depending of how much time was spent on the initial try and the first retry.