Changed references of "Pleroma" to "Akkoma" in email text
[akkoma] / lib / pleroma / stats.ex
index 48afe901e0d3679d013e350af3c5b533a791a0f3..c47a0f9defc10845f16df145667151824cb0998c 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # 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