Skip to content

Commit

Permalink
Документирован пример правильной обработки цикла ожидания завершения …
Browse files Browse the repository at this point in the history
…процесса EvilBeaver#402
  • Loading branch information
artbear committed Feb 19, 2017
1 parent ddf95ad commit 68b3bfc
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/ScriptEngine.HostedScript/Library/ProcessContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ public IValue OutputEncoding

/// <summary>
/// ПотокВыводаТекста. Стандартный поток вывода (stdout)
/// в методе "Завершен" смотрите пример правильной обработки цикла ожидания завершения процесса:
/// </summary>
[ContextProperty("ПотокВывода", "StdOut")]
public StdTextReadStream StdOut
Expand All @@ -71,6 +72,7 @@ public StdTextReadStream StdOut

/// <summary>
/// ПотокВыводаТекста. Стандартный поток вывода ошибок (stderr)
/// в методе "Завершен" смотрите пример правильной обработки цикла ожидания завершения процесса:
/// </summary>
[ContextProperty("ПотокОшибок", "StdErr")]
public StdTextReadStream StdErr
Expand Down Expand Up @@ -104,6 +106,7 @@ public StdTextWriteStream StdIn

/// <summary>
/// Запустить процесс на выполнение.
/// в методе "Завершен" смотрите пример правильной обработки цикла ожидания завершения процесса:
/// </summary>
[ContextMethod("Запустить", "Start")]
public void Start()
Expand All @@ -113,6 +116,24 @@ public void Start()

/// <summary>
/// Флаг указывает, что процесс завершен (или нет)
///
/// Пример правильной обработки цикла ожидания завершения процесса:
///
/// Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные ИЛИ Процесс.ПотокОшибок.ЕстьДанные Цикл
/// Если ПериодОпросаВМиллисекундах <> 0 Тогда
/// Приостановить(ПериодОпросаВМиллисекундах);
/// КонецЕсли;
///
/// ОчереднаяСтрокаВывода = Процесс.ПотокВывода.Прочитать();
/// ОчереднаяСтрокаОшибок = Процесс.ПотокОшибок.Прочитать();
/// Если Не ПустаяСтрока(ОчереднаяСтрокаВывода) Тогда
/// Сообщить(ОчереднаяСтрокаВывода, СтатусСообщения.Информация);
/// КонецЕсли;
///
/// Если Не ПустаяСтрока(ОчереднаяСтрокаОшибок) Тогда
/// Сообщить(ОчереднаяСтрокаОшибок, СтатусСообщения.Важное);
/// КонецЕсли;
/// КонецЦикла;
/// </summary>
[ContextProperty("Завершен","HasExited")]
public bool HasExited
Expand Down

0 comments on commit 68b3bfc

Please sign in to comment.