2013-08-02 18:31:25 -04:00
|
|
|
module Jobs
|
2013-08-07 13:25:05 -04:00
|
|
|
class DashboardStats < Jobs::Scheduled
|
2014-02-05 18:14:41 -05:00
|
|
|
every 30.minutes
|
2013-08-02 18:31:25 -04:00
|
|
|
|
|
|
|
def execute(args)
|
2015-06-24 20:42:08 -04:00
|
|
|
stats = AdminDashboardData.fetch_stats.as_json
|
2013-08-02 18:31:25 -04:00
|
|
|
|
|
|
|
# Add some extra time to the expiry so that the next job run has plenty of time to
|
|
|
|
# finish before previous cached value expires.
|
2015-06-24 20:42:08 -04:00
|
|
|
$redis.setex AdminDashboardData.stats_cache_key, (AdminDashboardData.recalculate_interval + 5).minutes, stats.to_json
|
2013-08-02 18:31:25 -04:00
|
|
|
|
2015-06-24 20:42:08 -04:00
|
|
|
stats
|
2013-08-02 18:31:25 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|
2013-09-02 03:14:41 -04:00
|
|
|
end
|