Files
ad/molodetz/services/presence.py
T

31 lines
862 B
Python
Raw Normal View History

2026-10-05 09:36:20 +02:00
# retoor <retoor@molodetz.nl>
from molodetz import config
from molodetz.services.base import BaseService
from molodetz.utils.presence import compute_roster
class PresenceService(BaseService):
name = "presence"
title = "Presence"
description = "Publiceert de online-set uit de laatste activiteit van accounts."
default_interval = 5
min_interval = 2
metrics_interval = 5
def __init__(self):
super().__init__()
self.roster = []
async def run_once(self):
self.roster = compute_roster()
def collect_metrics(self):
return {
"roster": self.roster,
"cards": [
{"label": "Online", "value": len(self.roster[: config.PRESENCE_ONLINE_LIMIT])},
{"label": "Gevolgd", "value": len(self.roster)},
],
"table": None,
}