summaryrefslogtreecommitdiff
path: root/lib/tasks/gitlab/site_statistics.rake
blob: 7d24ec72a9d4159026cd3a44643e466a62295f34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
namespace :gitlab do
  desc "GitLab | Refresh Site Statistics counters"
  task refresh_site_statistics: :environment do
    puts 'Updating Site Statistics counters: '

    print '* Repositories... '
    SiteStatistic.transaction do
      # see https://gitlab.com/gitlab-org/gitlab-ce/issues/48967
      ActiveRecord::Base.connection.execute('SET LOCAL statement_timeout TO 0') if Gitlab::Database.postgresql?
      SiteStatistic.update_all('repositories_count = (SELECT COUNT(*) FROM projects)')
    end
    puts 'OK!'.color(:green)

    print '* Wikis... '
    SiteStatistic.transaction do
      # see https://gitlab.com/gitlab-org/gitlab-ce/issues/48967
      ActiveRecord::Base.connection.execute('SET LOCAL statement_timeout TO 0') if Gitlab::Database.postgresql?
      SiteStatistic.update_all('wikis_count = (SELECT COUNT(*) FROM project_features WHERE wiki_access_level != 0)')
    end
    puts 'OK!'.color(:green)
    puts
  end
end