X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fstats.ex;h=c47a0f9defc10845f16df145667151824cb0998c;hb=551f92dd50f8c581d29dabd3ffd48f46587d8ca9;hp=48afe901e0d3679d013e350af3c5b533a791a0f3;hpb=489b12cde48d0ed6b16914c5a831b1e992d0d059;p=akkoma
diff --git a/lib/pleroma/stats.ex b/lib/pleroma/stats.ex
index 48afe901e..c47a0f9de 100644
--- a/lib/pleroma/stats.ex
+++ b/lib/pleroma/stats.ex
@@ -1,5 +1,5 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors
+# Copyright © 2017-2021 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Stats do
@@ -11,7 +11,7 @@ defmodule Pleroma.Stats do
alias Pleroma.Repo
alias Pleroma.User
- @interval :timer.seconds(60)
+ @interval :timer.seconds(300)
def start_link(_) do
GenServer.start_link(
@@ -23,7 +23,11 @@ defmodule Pleroma.Stats do
@impl true
def init(_args) do
- {:ok, nil, {:continue, :calculate_stats}}
+ if Pleroma.Config.get(:env) != :test do
+ {:ok, nil, {:continue, :calculate_stats}}
+ else
+ {:ok, calculate_stat_data()}
+ end
end
@doc "Performs update stats"
@@ -75,20 +79,30 @@ defmodule Pleroma.Stats do
users_query =
from(u in User,
- where: u.deactivated != true,
+ where: u.is_active == true,
where: u.local == true,
where: not is_nil(u.nickname),
where: not u.invisible
)
+ remote_users_query =
+ from(u in User,
+ where: u.is_active == true,
+ where: u.local == false,
+ where: not is_nil(u.nickname),
+ where: not u.invisible
+ )
+
user_count = Repo.aggregate(users_query, :count, :id)
+ remote_user_count = Repo.aggregate(remote_users_query, :count, :id)
%{
peers: peers,
stats: %{
domain_count: domain_count,
status_count: status_count || 0,
- user_count: user_count
+ user_count: user_count,
+ remote_user_count: remote_user_count
}
}
end