Proyecto LCX Dispatcharr multicuenta
Base Image Build / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (push) Has been cancelled
Base Image Build / docker (amd64, ubuntu-24.04) (push) Has been cancelled
Base Image Build / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
Base Image Build / create-manifest (push) Has been cancelled
Base Image Build / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (push) Has been cancelled
Base Image Build / docker (amd64, ubuntu-24.04) (push) Has been cancelled
Base Image Build / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
Base Image Build / create-manifest (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
"""
|
||||
Defines Redis key patterns used throughout the TS proxy service.
|
||||
Centralizing these key patterns makes it easier to maintain and change them if needed.
|
||||
"""
|
||||
|
||||
class RedisKeys:
|
||||
@staticmethod
|
||||
def channel_metadata(channel_id):
|
||||
"""Key for channel metadata hash"""
|
||||
return f"ts_proxy:channel:{channel_id}:metadata"
|
||||
|
||||
@staticmethod
|
||||
def buffer_index(channel_id):
|
||||
"""Key for tracking buffer index"""
|
||||
return f"ts_proxy:channel:{channel_id}:buffer:index"
|
||||
|
||||
@staticmethod
|
||||
def buffer_chunk(channel_id, chunk_index):
|
||||
"""Key for specific buffer chunk"""
|
||||
return f"ts_proxy:channel:{channel_id}:buffer:chunk:{chunk_index}"
|
||||
|
||||
@staticmethod
|
||||
def buffer_chunk_prefix(channel_id):
|
||||
"""Prefix for buffer chunks"""
|
||||
return f"ts_proxy:channel:{channel_id}:buffer:chunk:"
|
||||
|
||||
@staticmethod
|
||||
def channel_stopping(channel_id):
|
||||
"""Key indicating channel is stopping"""
|
||||
return f"ts_proxy:channel:{channel_id}:stopping"
|
||||
|
||||
@staticmethod
|
||||
def client_stop(channel_id, client_id):
|
||||
"""Key requesting client stop"""
|
||||
return f"ts_proxy:channel:{channel_id}:client:{client_id}:stop"
|
||||
|
||||
@staticmethod
|
||||
def events_channel(channel_id):
|
||||
"""PubSub channel for events"""
|
||||
return f"ts_proxy:events:{channel_id}"
|
||||
|
||||
@staticmethod
|
||||
def switch_request(channel_id):
|
||||
"""Key for stream switch request"""
|
||||
return f"ts_proxy:channel:{channel_id}:switch_request"
|
||||
|
||||
@staticmethod
|
||||
def channel_owner(channel_id):
|
||||
"""Key for storing channel owner worker ID"""
|
||||
return f"ts_proxy:channel:{channel_id}:owner"
|
||||
|
||||
@staticmethod
|
||||
def clients(channel_id):
|
||||
"""Key for set of client IDs"""
|
||||
return f"ts_proxy:channel:{channel_id}:clients"
|
||||
|
||||
@staticmethod
|
||||
def last_client_disconnect(channel_id):
|
||||
"""Key for last client disconnect timestamp"""
|
||||
return f"ts_proxy:channel:{channel_id}:last_client_disconnect_time"
|
||||
|
||||
@staticmethod
|
||||
def connection_attempt(channel_id):
|
||||
"""Key for connection attempt timestamp"""
|
||||
return f"ts_proxy:channel:{channel_id}:connection_attempt_time"
|
||||
|
||||
@staticmethod
|
||||
def last_data(channel_id):
|
||||
"""Key for last data timestamp"""
|
||||
return f"ts_proxy:channel:{channel_id}:last_data"
|
||||
|
||||
@staticmethod
|
||||
def switch_status(channel_id):
|
||||
"""Key for stream switch status"""
|
||||
return f"ts_proxy:channel:{channel_id}:switch_status"
|
||||
|
||||
@staticmethod
|
||||
def worker_heartbeat(worker_id):
|
||||
"""Key for worker heartbeat"""
|
||||
return f"ts_proxy:worker:{worker_id}:heartbeat"
|
||||
|
||||
@staticmethod
|
||||
def chunk_timestamps(channel_id):
|
||||
"""Sorted set mapping chunk receive-timestamps (score) to chunk indices (member).
|
||||
Used for time-based client positioning."""
|
||||
return f"ts_proxy:channel:{channel_id}:buffer:chunk_timestamps"
|
||||
|
||||
@staticmethod
|
||||
def transcode_active(channel_id):
|
||||
"""Key indicating active transcode process"""
|
||||
return f"ts_proxy:channel:{channel_id}:transcode_active"
|
||||
|
||||
@staticmethod
|
||||
def client_metadata(channel_id, client_id):
|
||||
"""Key for client metadata hash"""
|
||||
return f"ts_proxy:channel:{channel_id}:clients:{client_id}"
|
||||
Reference in New Issue
Block a user