<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.smartplayer.org/index.php?action=history&amp;feed=atom&amp;title=Translations%3A%D0%A1%D1%82%D0%BE%D1%80%D0%BE%D0%B6%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC_Watchdog_%D0%B2_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B8_SmartPlayer%2F1%2Fru</id>
	<title>Translations:Сторожевой механизм Watchdog в приложении SmartPlayer/1/ru - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.smartplayer.org/index.php?action=history&amp;feed=atom&amp;title=Translations%3A%D0%A1%D1%82%D0%BE%D1%80%D0%BE%D0%B6%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC_Watchdog_%D0%B2_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B8_SmartPlayer%2F1%2Fru"/>
	<link rel="alternate" type="text/html" href="https://wiki.smartplayer.org/index.php?title=Translations:%D0%A1%D1%82%D0%BE%D1%80%D0%BE%D0%B6%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC_Watchdog_%D0%B2_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B8_SmartPlayer/1/ru&amp;action=history"/>
	<updated>2026-07-26T18:56:00Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.smartplayer.org/index.php?title=Translations:%D0%A1%D1%82%D0%BE%D1%80%D0%BE%D0%B6%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC_Watchdog_%D0%B2_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B8_SmartPlayer/1/ru&amp;diff=20318&amp;oldid=prev</id>
		<title>FuzzyBot: Импортирована новая версия из внешнего источника</title>
		<link rel="alternate" type="text/html" href="https://wiki.smartplayer.org/index.php?title=Translations:%D0%A1%D1%82%D0%BE%D1%80%D0%BE%D0%B6%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%B7%D0%BC_Watchdog_%D0%B2_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B8_SmartPlayer/1/ru&amp;diff=20318&amp;oldid=prev"/>
		<updated>2026-07-10T08:37:02Z</updated>

		<summary type="html">&lt;p&gt;Импортирована новая версия из внешнего источника&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== &amp;#039;&amp;#039;&amp;#039;Описание ситуации&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
Платформа SmartPlayer поддерживает работу важного механизма Watchdog, который предназначен для контроля работоспособности клиентского приложения. Данный механизм следит за тем, чтобы система, в данном случае клиентское приложение на базе Windows OS, не прекращала функционировать и продолжала работать штатно.&lt;br /&gt;
{{Note|&amp;#039;&amp;#039;&amp;#039;На странице будут описаны исходная и доработанная реализации данного механизма для Windows OS.&amp;#039;&amp;#039;&amp;#039;|warn}}&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Что такое Watchdog&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
Механизм Watchdog предназначен для автоматического контроля работоспособности клиентского приложения. Он отслеживает состояние системы и проверяет, продолжает ли она корректно выполнять заданные действия. Если приложение перестаёт отвечать, зависает или не передаёт контрольный сигнал, Watchdog автоматически выполняет восстановительное действие, например перезапуск клиентского приложения.&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Изначальная реализация Watchdog в SmartPlayer&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
Первая реализация Watchdog для клиентского приложения Windows представляла собой отдельное приложение, позволяющее отслеживать зависание процесса. Данное приложение путём опроса процесса получало информацию от основного приложения.&amp;lt;br&amp;gt;&lt;br /&gt;
Если приложение отправляло ответ на сообщение, таким образом оно подтверждало свою работоспособность и то, что продолжает функционировать.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Период опроса&amp;#039;&amp;#039;&amp;#039;: один раз в 3 секунды.&amp;lt;br&amp;gt;&lt;br /&gt;
Если ответ от клиентского приложения не был получен, происходил перерыв до следующей отправки сообщения от Watchdog. Повторный запрос выполнялся через 5 секунд после неудачной попытки. В случае трёх неудачных попыток подряд Watchdog перезапускал клиентское приложение SmartPlayer. Таким образом клиентское приложение продолжало свою работу.&lt;br /&gt;
{{Note|Даже если клиентское приложение перестало работать, Watchdog всё равно перезапустит его через некоторое время.|warn}}&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Доработанная реализация Watchdog в SmartPlayer&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
Доработанная реализация Watchdog предназначена для контроля зависания интерфейса клиентского приложения SmartPlayer на Windows.&lt;br /&gt;
Ранее Watchdog отслеживал общее состояние приложения.&amp;lt;br&amp;gt;&lt;br /&gt;
Если приложение продолжало работать как процесс, поддерживало соединение и не завершалось аварийно, механизм считал его работоспособным. Однако в редких случаях могла возникать ситуация, при которой само приложение оставалось запущенным, но интерфейсная часть на QML зависала и переставала отвечать.&amp;lt;br&amp;gt;&lt;br /&gt;
Для обработки такого сценария в клиентское приложение был добавлен отдельный параллельный поток. Он регулярно проверяет состояние UI-потока и определяет, отвечает ли интерфейс приложения. Если UI-поток не отвечает в течение 30 секунд, Watchdog фиксирует зависание интерфейса и выполняет мягкий перезапуск клиентского приложения. Это позволяет восстановить работу SmartPlayer без ручного вмешательства пользователя.&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;Дополнительная информация&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
Если данная статья не помогает использовать функциональность по назначению или после её прочтения остаются вопросы, их можно задать в разделе «Обсуждения» вверху страницы.&lt;br /&gt;
[[File:ОБсуждение_сторожевой_механизм.png|thumb|center| Пример отображения вкладки «Обсуждения» на wiki-странице|800px]]&lt;br /&gt;
Также дополнительную информацию можно узнать на странице [[Как взаимодействовать пользователю с разделом &amp;quot;Обсуждения&amp;quot;]].&lt;/div&gt;</summary>
		<author><name>FuzzyBot</name></author>
	</entry>
</feed>