You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feature Request: Configurable maxRetries and timeout for HTTP (curl) checks
Problem
Currently, maxRetries, connectTimeout, and requestTimeout per-site options (introduced in uptime-monitor#277) only work for check: tcp-ping. For standard HTTP checks (curl), the retry logic is hardcoded in update.ts:
// Always 3 attempts, always 2s + 10s delays — no way to configure thisawaitwait(2000);constsecondTry=awaitperformTestOnce();// ...awaitwait(10000);constthirdTry=awaitperformTestOnce();
This means that when multiple sites are confirmed down (not false positives), the workflow takes an extremely long time because each site always does 3 attempts with fixed 2s + 10s delays, and there is no way to reduce this from .upptimerc.yml.
Important distinction
The 3-retry logic is useful and correct for catching false positives (as discussed in #171). The problem is that when sites are genuinely and persistently down, users have no way to reduce retries to save workflow time. Both use cases should be supported.
Real-world example
Monitoring 12 sites where 4 are confirmed down for days, using Globalping. Each down site fetches 3 measurements:
Fetching globalping measurement ...
Fetching globalping measurement ...
Fetching globalping measurement ...
Skipping commit, status is down
Result: workflow takes 2m 30s+ on every run, wasting GitHub Actions minutes unnecessarily.
Expected behavior
maxRetries, connectTimeout and requestTimeout should work for all check types, including standard HTTP (curl) and Globalping — not just tcp-ping.
Proposed per-site config:
sites:
- name: My Siteurl: https://example.commaxRetries: 1# default: 3 — should apply to HTTP curl tooconnectTimeout: 10# secondsrequestTimeout: 15# seconds
And a global fallback in .upptimerc.yml:
maxRetries: 1# applies to all sites unless overridden per-siteconnectTimeout: 10requestTimeout: 15
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Feature Request: Configurable
maxRetriesand timeout for HTTP (curl) checksProblem
Currently,
maxRetries,connectTimeout, andrequestTimeoutper-site options (introduced in uptime-monitor#277) only work forcheck: tcp-ping. For standard HTTP checks (curl), the retry logic is hardcoded inupdate.ts:This means that when multiple sites are confirmed down (not false positives), the workflow takes an extremely long time because each site always does 3 attempts with fixed 2s + 10s delays, and there is no way to reduce this from
.upptimerc.yml.Important distinction
The 3-retry logic is useful and correct for catching false positives (as discussed in #171). The problem is that when sites are genuinely and persistently down, users have no way to reduce retries to save workflow time. Both use cases should be supported.
Real-world example
Monitoring 12 sites where 4 are confirmed down for days, using Globalping. Each down site fetches 3 measurements:
Result: workflow takes 2m 30s+ on every run, wasting GitHub Actions minutes unnecessarily.
Expected behavior
maxRetries,connectTimeoutandrequestTimeoutshould work for all check types, including standard HTTP (curl) and Globalping — not justtcp-ping.Proposed per-site config:
And a global fallback in
.upptimerc.yml:Related
tcp-pingAll reactions