Skip to content

Зависает выгрузка для "толстых" конфигураций 1С #60

Open
@artbear

Description

@artbear

Зависает на первой же команде git diff-index --name-status --cached HEAD или git status --porcelain
Проблема в реализации метода ПолучитьВыводПроцесса
Так гарантированно работает

Функция ПолучитьВыводПроцесса(Знач КоманднаяСтрока, КодВозврата)

    ЛогФайл = ВременныеФайлы.НовоеИмяФайла();
    СтрокаЗапуска = "cmd /C """ + КоманднаяСтрока + " > """ + ЛогФайл + """ 2>&1""";
    Лог.Отладка(СтрокаЗапуска);
    ЗапуститьПриложение(СтрокаЗапуска,, Истина, КодВозврата);
    Лог.Отладка("Код возврата: " + КодВозврата);
    ЧтениеТекста = Новый ЧтениеТекста(ЛогФайл, "utf-8");
    Вывод = ЧтениеТекста.Прочитать();
    ЧтениеТекста.Закрыть();

    Возврат Вывод;

КонецФункции

а так часто не работает, на локальной машине (Вин7) работает
на нескольких машинх (Server 2012) просто зависает и все :(

Функция ПолучитьВыводПроцесса(Знач КоманднаяСтрока, КодВозврата)

    // Это для dev версии 1.0.11
    Процесс = СоздатьПроцесс(КоманднаяСтрока, , Истина,, КодировкаТекста.UTF8);
    Процесс.Запустить();
    Вывод = "";

    Процесс.ОжидатьЗавершения();

    Вывод = Вывод + Процесс.ПотокВывода.Прочитать();
    Вывод = Вывод + Процесс.ПотокОшибок.Прочитать();

    КодВозврата = Процесс.КодВозврата;

    Возврат Вывод;

КонецФункции

@EvilBeaver Можешь что-нибудь подсказать?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions