Dynamically add and start a new channel. If the channel is already running, restart it instead.
(self, channel_name: str)
| 193 | logger.info(f"[ChannelManager] Channel restarted to '{new_channel_name}' successfully") |
| 194 | |
| 195 | def add_channel(self, channel_name: str): |
| 196 | """ |
| 197 | Dynamically add and start a new channel. |
| 198 | If the channel is already running, restart it instead. |
| 199 | """ |
| 200 | with self._lock: |
| 201 | if channel_name in self._channels: |
| 202 | logger.info(f"[ChannelManager] Channel '{channel_name}' already exists, restarting") |
| 203 | if self._channels.get(channel_name): |
| 204 | self.restart(channel_name) |
| 205 | return |
| 206 | logger.info(f"[ChannelManager] Adding channel '{channel_name}'...") |
| 207 | _clear_singleton_cache(channel_name) |
| 208 | self.start([channel_name], first_start=False) |
| 209 | logger.info(f"[ChannelManager] Channel '{channel_name}' added successfully") |
| 210 | |
| 211 | def remove_channel(self, channel_name: str): |
| 212 | """ |
no test coverage detected