Files

31 lines
852 B
Python

# 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 = "Publishes the online set from recent account activity."
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": "Tracked", "value": len(self.roster)},
],
"table": None,
}