Skip to content

Commit

Permalink
Merge pull request #14 from vector-im/tadzik/speed-up-rmau-calculations
Browse files Browse the repository at this point in the history
Simplify the user activity query
  • Loading branch information
tadzik authored Nov 15, 2021
2 parents 83c6f73 + 028a1f2 commit 1c6c9d5
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions mautrix_telegram/db/user_activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
from typing import Optional, Iterable

from sqlalchemy import Column, Integer, BigInteger
from sqlalchemy import Column, Integer, BigInteger, func, select
from sqlalchemy.ext.hybrid import hybrid_property

from mautrix.util.db import Base
Expand Down Expand Up @@ -76,7 +76,7 @@ def activity_days(self):
def get_active_count(cls, min_activity_days: int, max_activity_days: Optional[int]) -> int:
current_ms = time.time() * 1000

query = cls.t.select().where(cls.activity_days > min_activity_days)
query = select([func.count(UserActivity.puppet_id)]).where(cls.activity_days > min_activity_days)
if max_activity_days is not None:
query = query.where((current_ms - cls.last_activity_ts) <= (max_activity_days * ONE_DAY_MS))
return cls.db.execute(query.count()).scalar()
return cls.db.execute(query).scalar()

0 comments on commit 1c6c9d5

Please sign in to comment.