-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Зависание при выполнени #14
Comments
Почему здесь ишуз заведен, а не в репо гитсинка? |
Так выполение гитсинк не причем. ПутьКБиблиотекеСкриптов = ПолучитьЗначениеСистемнойНастройки("lib.system");
ПутьКGitSync = ОбъединитьПути(ПутьКБиблиотекеСкриптов, "gitsync","src","gitsync.os") ;
КомандаЗапуска.ДобавитьПараметр(""""+ПутьКGitSync +"""");
ПутьПриложения = "oscript " + ПутьКGitSync;
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(ПутьКХранилищю1С);
МассивПараметров.Добавить(URLРепозитория);
МассивПараметров.Добавить(ПутьКРабочейКопии);
МассивПараметров.Добавить(СтрШаблон("-branch ""%1""", ИмяВетки));
МассивПараметров.Добавить(СтрШаблон("-debug %1", Отладка));
//МассивПараметров.Добавить(СтрШаблон("-push-every-n-commits %1", ОтправкаИзмененийКаждыеNКоммитов));
//МассивПараметров.Добавить(СтрШаблон("-use-auto-tags %1", АвтоматическаяУстановкаМеток));
//МассивПараметров.Добавить(СтрШаблон("-tmp-dir %1", ВременныйКаталог));
СтрокаЗапуска = "";
Для Каждого Параметр Из МассивПараметров Цикл
СтрокаЗапуска = СтрокаЗапуска + " " + Параметр;
КонецЦикла;
Если ЭтоWindows = Ложь Тогда
СтрокаЗапуска = "sh -c '" + ПутьПриложения + СтрокаЗапуска + "'";
Иначе
СтрокаЗапуска = ПутьПриложения + СтрокаЗапуска;
КонецЕсли;
Лог.Отладка(СтрокаЗапуска);
РезультатВыполнения = 1;
ЗапуститьПриложение(СтрокаЗапуска, ПутьКРабочейКопии, Истина, РезультатВыполнения);
Возврат РезультатВыполнения; |
Вот это не работает КомандаЗапуска = Новый Команда;
КомандаЗапуска.УстановитьКоманду("oscript");
ПутьКБиблиотекеСкриптов = ПолучитьЗначениеСистемнойНастройки("lib.system");
ПутьКGitSync = ОбъединитьПути(ПутьКБиблиотекеСкриптов, "gitsync","src","gitsync.os") ;
КомандаЗапуска.ДобавитьПараметр(ПутьКGitSync);
КомандаЗапуска.ДобавитьПараметр(ПутьКХранилищю1С);
КомандаЗапуска.ДобавитьПараметр(URLРепозитория);
КомандаЗапуска.ДобавитьПараметр(ПутьКРабочейКопии);
КомандаЗапуска.ДобавитьПараметр(СтрШаблон("-branch %1", ИмяВетки));
КомандаЗапуска.ДобавитьПараметр(СтрШаблон("-debug %1", Отладка));
КомандаЗапуска.ДобавитьПараметр(СтрШаблон("-v8version %1", ВерсияПлатформы));
КомандаЗапуска.ДобавитьПараметр(СтрШаблон("-email can" ));
//КомандаЗапуска.ДобавитьПараметр(СтрШаблон("-tmp-dir %1", ВременныйКаталог));
//КомандаЗапуска.ДобавитьПараметр(СтрШаблон("-useautotags %1", АвтоматическаяУстановкаМеток));
//КомандаЗапуска.ДобавитьПараметр(СтрШаблон("-push-every-n-commits %1", ОтправкаИзмененийКаждыеNКоммитов));
РезультатВыполнения = КомандаЗапуска.Исполнить();
Сообщить("Вывод команды выполнения Gitsync: " + КомандаЗапуска.ПолучитьВывод());
Возврат РезультатВыполнения; |
ты уверен что оно именно зависает? Сейчас 1commands накапливает в себе вывод, а потом выводит его через единое сообщить(). |
Да 99% зависает. Ждал около 2-х часов ... |
хранилище маленькое 18 версий (изменения мелочевные) Через запуск приложения проходит за 1 минуту примерно |
PS @khorevaa Я поправил твой коммент #14 (comment) |
Ага, опечатался. |
@khorevaa Навскидку вижу разницу в 2х запусках. |
Значит кусок кода копировал не корректно! -) в общем вроде как все должно быть одинаково.. |
@artbear Спасибо за помощь по подсветке.. А то самого бесило.... Несколько раз пытался сделать корректно! теперь буду знать) |
@khorevaa Можешь привести 2 точных примера кода, один из которых зависает, а второй работает? |
Добрый день, прогнал еще раз указнные куски кода.. Они являются корректными с точки зрения зависания. Так же на ubuntu диагностировал спам от 1С следующего характара
|
Видимо спам от 1С переполяет буфер потока вывода... |
Совместно с @ret-Phoenix исследовали проблему зависания. Происходит зависание все-таки в момент показа множества сообщений при включенном режиме Но смогли найти вариант обхода :) Нужно для репозиториев гит включать режим В этом случае @ret-Phoenix проблему своего зависания решил. @khorevaa Сможешь у себя проверить такое решение? Я получил сценарий точного срабатывания бага и буду пытаться его исправить. |
@artbear gitrunner не использует 1коммандс пока. |
@nixel2007 Нужно проверить поведение гитраннер "коммит и адд" через гитраннер в описанных условиях. |
@artbear Конечно проверю с указанным условием. Но думаю не поможет т.к. конфигурация была минимальная для тестов т.к. 2 объекта всего. Я думаю тут больше проблема с буфером потока вывода. |
Реализовано поведение для обхода бага движка. #21 Конкретно по гитсинк - проблема актуальна только при включенном режиме Задачу закрываю. |
Дано: limux
Запуск: команды gitsync для хранилища
Зависание на 5 версии.
Видимо переполнение потока вывода т.к. выполнении тоже команды в консоле не приводит к зависанию
The text was updated successfully, but these errors were encountered: