How the Frontend Heartbeat Works and Why It Uses a Six-Hour Cadence
The frontend heartbeat is a lightweight same-site signal that can refresh QuantaCade scheduler timing during ordinary site traffic, but it is throttled to a six-hour cadence.
How it is triggered
On normal frontend HTML pages, when QCTNH is available and the service is enabled, the System plugin injects a small script just before </body>. About 1.2 seconds after page load, the browser POSTs a browser_heartbeat message to QCTNH’s Joomla AJAX endpoint using same-origin credentials.
Same-site protection
The endpoint compares the request Origin/Referer host with the current QCTNH site host. A cross-site browser request is rejected with “Same-site heartbeat required.”
Six-hour throttle
The local service checks last_heartbeat_at. If the last successful frontend heartbeat is less than 21,600 seconds (six hours) old, the call returns a throttled state instead of contacting QuantaCade again.
Why it exists
A heartbeat provides fresh schedule information when real traffic is available, complementing external wake-ups. It is not required for every page view and is not a visitor analytics mechanism.
Native WebCron remains the execution transport
Even when How the Frontend Heartbeat Works and Why It Uses a Six-Hour Cadence involves QuantaCade-side scheduling logic, the final wake-up is still the exact validated Joomla WebCron route. The worker does not call a proprietary endpoint and then ask QCTNH to choose a task. That keeps queue selection, locking, and task execution inside Joomla.
Legacy QCTNH control endpoints may remain for compatibility, but they are not the normal production wake-up path documented for 2.0.3.
Community Discussion
Want to compare scheduler workflows, share practical tips, or discuss how you use this QCTNH feature? Visit the QC Task Nudge & Health Community. For private support, bug reports, account-specific issues, or feature requests, use the QuantaCade support system.