push_stream_channel_inactivity_time
Устанавливает таймаут неактивности для push_stream-каналов, позволяя автоматически удалять неактивные каналы.
Описание
Директива push_stream_channel_inactivity_time задаёт период времени, по истечении которого неактивный канал считается устаревшим и может быть автоматически удалён. Это особенно полезно в сценариях, когда каналы перестают быть нужными из-за неактивности, освобождая ресурсы и обеспечивая эффективное управление памятью. Директива принимает один аргумент, который указывает период времени в секундах. Если канал не получает подписок или активности в течение этого заданного интервала, он будет удалён из списка активных каналов сервера, предотвращая ненужное использование памяти и поддерживая систему в порядке.
Например, если вы зададите push_stream_channel_inactivity_time 10;, любой канал, не получивший активности в течение 10 секунд, будет автоматически удалён. Эта функция полезна для приложений, в которых пользователи могут периодически подписываться на каналы, минимизируя нагрузку на сервер за счёт того, что каналы остаются активными только при необходимости. При выборе этого значения важно учитывать удобство пользователей: слишком короткий таймаут неактивности может привести к неожиданным отключениям пользователей от нужных им каналов, тогда как слишком длинный — к истощению ресурсов из‑за большого числа устаревших каналов, остающихся в памяти.
Пример конфига
http {
push_stream_channel_inactivity_time 300;
server {
location /pub {
push_stream_publisher;
push_stream_channels_path $arg_id;
}
location ~ /sub/(.*) {
push_stream_subscriber;
push_stream_channels_path $1;
}
}
}Убедитесь, что время бездействия установлено правильно, чтобы избежать непреднамеренной потери каналов, к которым пользователи всё ещё могут захотеть получить доступ.
Если значение установлено слишком низким, пользователи могут столкнуться с отключениями, если они будут неактивны в течение этого времени.
Конфигурация должна быть размещена в правильном контексте (http), чтобы она была эффективной.