update CHANGELOG with watchdog timers updates

This commit is contained in:
Aleix Conchillo Flaqué
2025-06-25 13:55:19 -07:00
parent 357934a644
commit 72cb967780

View File

@@ -12,22 +12,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added logging and improved error handling to help diagnose and prevent potential - Added logging and improved error handling to help diagnose and prevent potential
Pipeline freezes. Pipeline freezes.
- Added `WatchdogQueue`, `WatchdogPriorityQueue`, `WatchdogEvent` and
`WatchdogAsyncIterator`. These helper utilities reset watchdog timers
appropriately before they expire. When watchdog timers are disabled, the
utilities behave as standard counterparts without side effects.
- Introduce task watchdog timers. Watchdog timers are used to detect if a - Introduce task watchdog timers. Watchdog timers are used to detect if a
Pipecat task is taking longer than expected (by default 5 seconds). It is Pipecat task is taking longer than expected (by default 5 seconds). Watchdog
timers are disabled by default and can be enabled by passing
`enable_watchdog_timers` argument to `PipelineTask` constructor. It is
possible to change the default watchdog timer timeout by using the possible to change the default watchdog timer timeout by using the
`watchdog_timeout` constructor argument when creating a `PipelineTask`. With `watchdog_timeout` argument. You can also log how long it takes to reset the
watchdog timers it is also possible to log how long each processing step is watchdog timers which is done with the `enable_watchdog_logging`. You can
taking (e.g. processing an element from a queue inside a task). This is done control these settings per each frame processor or even per task. That is, you
with the `enable_watchdog_logging` constructor argument when creating a can set set `enable_watchdog_logging` and `watchdog_timeout` when creating any
`PipelineTask.` It is also possible to control these two values per each frame frame processor through their constructor arguments or when you create a task
processor. That is, you can set set `enable_watchdog_logging` and with `FrameProcessor.create_task()`. Note that watchdog timers only work with
`watchdog_timeout` when creating any frame processor through their constructor Pipecat tasks and will not work if you use `asycio.create_task()` or similar.
arguments. Finally, you can also set these values per task. So, if you are
writing a frame processor that creates multiple tasks and you only want to
enable logging for one of them, you can do so by passing the same argument
names to the `FrameProcessor.create_task()` function. Note that watchdog
timers only work with Pipecat tasks but not if you use `asycio.create_task()`
or similar.
- Added `lexicon_names` parameter to `AWSPollyTTSService.InputParams`. - Added `lexicon_names` parameter to `AWSPollyTTSService.InputParams`.