Dispatcharr/apps/channels
SergeantPanda c33d456743 Enable gevent in uWSGI workers; fix WS delivery and DB exhaustion
- Enable gevent cooperative multitasking in all uWSGI worker configs
  (gevent-early-monkey-patch + import dispatcharr.gevent_patch)
- Rewrite WebSocket group sends to bypass asyncio in gevent workers:
  _gevent_ws_send() replicates the channels_redis 4.x wire format
  directly via synchronous Redis so send_websocket_update() and
  _send_async() no longer fail silently after epoll is patched out
- Fix PostgreSQL connection exhaustion: CONN_MAX_AGE=0 + explicit
  close_old_connections() in stream manager and cleanup watchdog loops
- Fix stream proxy race: register client before the connect-wait loop
  so the cleanup watchdog never sees zero clients on a live channel
- Channel list/logo/profile queryset optimisations: conditional DISTINCT,
  EXISTS semi-joins for filter-options, channel_count annotation to
  eliminate N+1 in LogoSerializer, prefetched memberships in
  ChannelProfileSerializer
- JsonResponse for channel ID list and summary endpoints
2026-05-14 18:55:09 -05:00
..
migrations rename Channel.user_hidden to Channel.hidden_from_output 2026-05-01 19:44:16 -05:00
tests Enhancement: Initial fmp4 support and major ts_proxy refactor 2026-05-08 17:46:47 -05:00
__init__.py Initial commit 2025-02-18 11:14:09 -06:00
admin.py epg refactor, new relations and matching 2025-03-26 13:28:03 -04:00
api_urls.py feat: Implement delete series rule functionality with title parameter and update related components 2026-05-05 08:40:05 -05:00
api_views.py Enable gevent in uWSGI workers; fix WS delivery and DB exhaustion 2026-05-14 18:55:09 -05:00
apps.py Refactor stats and vod proxy 2025-09-05 19:30:13 -05:00
compact_numbering.py rename Channel.user_hidden to Channel.hidden_from_output 2026-05-01 19:44:16 -05:00
forms.py Forms support floats now. 2025-05-15 15:32:21 -05:00
managers.py feat: Auto-sync overhaul (FR #1196) 2026-05-01 14:05:06 -05:00
models.py Enhancement: Initial fmp4 support and major ts_proxy refactor 2026-05-08 17:46:47 -05:00
serializers.py Enable gevent in uWSGI workers; fix WS delivery and DB exhaustion 2026-05-14 18:55:09 -05:00
signals.py Enhancement: Initial fmp4 support and major ts_proxy refactor 2026-05-08 17:46:47 -05:00
tasks.py Enhancement: Initial fmp4 support and major ts_proxy refactor 2026-05-08 17:46:47 -05:00
urls.py Initial commit 2025-02-18 11:14:09 -06:00
utils.py feat: Auto-sync overhaul (FR #1196) 2026-05-01 14:05:06 -05:00
views.py m3u modifications so streams are identified by hash, configurable, also streams now have channel_groups instead of a string for groups 2025-03-19 16:35:49 -04:00