Scale display player by switching from SSE to polling
This commit is contained in:
@@ -29,11 +29,15 @@ def _enforce_and_touch_display_session(display: Display, sid: str | None):
|
||||
return True, None
|
||||
|
||||
cutoff = datetime.utcnow() - timedelta(seconds=SESSION_TTL_SECONDS)
|
||||
DisplaySession.query.filter(
|
||||
DisplaySession.display_id == display.id,
|
||||
DisplaySession.last_seen_at < cutoff,
|
||||
).delete(synchronize_session=False)
|
||||
db.session.commit()
|
||||
# Cleanup old sessions. Avoid committing if nothing was deleted (saves write locks on SQLite).
|
||||
deleted = (
|
||||
DisplaySession.query.filter(
|
||||
DisplaySession.display_id == display.id,
|
||||
DisplaySession.last_seen_at < cutoff,
|
||||
).delete(synchronize_session=False)
|
||||
)
|
||||
if deleted:
|
||||
db.session.commit()
|
||||
|
||||
existing = DisplaySession.query.filter_by(display_id=display.id, sid=sid).first()
|
||||
if existing:
|
||||
|
||||
Reference in New Issue
Block a user