mirror of
https://github.com/discourse/discourse.git
synced 2026-08-09 21:45:25 +08:00
Previously, the admin dashboard's report cache expired after 35 minutes and was only ever populated by a request, so the first admin to land on `/admin` after expiry paid the full cold cost — including admins passing through the dashboard purely to navigate elsewhere. This change raises the report cache TTL to 60 minutes and adds a `Jobs::WarmDashboardReports` scheduled job that recomputes the globally-keyed reports behind the highlights and engagement KPIs every 30 minutes, for the default 30-day window and the days either side of it to cover admin timezones. Reports mounted manually on the dashboard are not warmed — `CoreReportProvider` puts the current user in their cache key, so they stay per-admin for now. |
||
|---|---|---|
| .. | ||
| concerns | ||
| onceoff | ||
| regular | ||
| scheduled | ||
| base.rb | ||