discourse/app/jobs/scheduled/dashboard_stats.rb

17 lines
464 B
Ruby

module Jobs
class DashboardStats < Jobs::Scheduled
every 30.minutes
def execute(args)
stats_json = AdminDashboardData.fetch_stats.as_json
# Add some extra time to the expiry so that the next job run has plenty of time to
# finish before previous cached value expires.
$redis.setex AdminDashboardData.stats_cache_key, (AdminDashboardData.recalculate_interval + 5).minutes, stats_json.to_json
stats_json
end
end
end