1.5 KiB
1.5 KiB
Most Downloaded
Route
- URL:
GET /discover/most-downloaded - Controller:
App\Http\Controllers\Web\DiscoverController::mostDownloaded() - Service:
App\Services\ArtworkSearchService::discoverMostDownloaded()
What the page reads
This page is Meilisearch-ranked and then hydrated from MySQL.
Search query
discoverMostDownloaded() uses:
- filter:
is_public = true AND is_approved = true - sort:
downloads:descviews:desc
In the indexed document:
downloadsis sourced fromartwork_stats.downloadsviewsis sourced fromartwork_stats.views
This is therefore an all-time leaderboard, not a rolling-window leaderboard.
Where the download counts come from
Downloads are recorded in two places:
artwork_downloads- full event log of each tracked download
artwork_stats.downloads- all-time aggregate counter used by this page
The page sorts on the aggregate counter, not by counting the event log live.
Background jobs and schedules
No dedicated page-specific cron exists.
Relevant active maintenance:
skinbase:flush-redis-statsevery 5 minutes- pushes deferred Redis counters into MySQL
Window reset commands exist too, but they maintain downloads_24h and downloads_7d rather than the all-time downloads column used by this page.
Cache behavior
- Cache key:
discover.most-downloaded.{page} - TTL: 300 seconds
Notes
- This page is separate from
Today Downloads. - If you need "what is hot today by download activity," use the dedicated
/downloads/todaypage instead.