Skip to content

Commit 816e775

Browse files
committed
Merge branch 'evil/develop' into v8unpack-lib.
2 parents 40b97f5 + f4aeb1d commit 816e775

File tree

5 files changed

+71
-22
lines changed

5 files changed

+71
-22
lines changed

readme.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,4 +196,18 @@
196196

197197
Выгрузить 2 версии от последней выгруженной, но не более 5-ой версии. Удобно когда выгрузка идет небольшими партиями, при заранее известном максимальном номере версии.
198198

199-
gitsync export store -maxversion 5 -limit 2
199+
gitsync export store -maxversion 5 -limit 2
200+
201+
# Решение проблемы вызванной ошибкой "Не обнаружено свободной лицензии!"
202+
203+
В случае возникновения ошибки "Не обнаружено свободной лицензии!" рекомендуется воспользоваться параметром ```-amount-look-for-license```. Данный параметр может быть использован со следующими командами ```export``` и ```sync```.
204+
При возникновении данной ошибки повторное получение лицензии происходит через 10 сек.
205+
По умолчанию данный параметр равен 1.
206+
207+
Выполнить 5 попыток получения лицензии:
208+
209+
gitsync export -amount-look-for-license 5
210+
211+
Выполнять получение лицензии без ограничения:
212+
213+
gitsync export -amount-look-for-license 0

src/core/Классы/КомандаExport.os

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-tempdir", "<Путь к каталогу временных файлов>");
2929
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl");
3030

31+
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-amount-look-for-license", "<число> количество повторов получения лицензии (попытка подключения каждые 10 сек), 0 - без ограничений");
32+
3133
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3234

3335
КонецПроцедуры // ЗарегистрироватьКоманду

src/core/Классы/КомандаSync.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-format", "<hierarchical|plain>");
2929
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-tempdir", "<Путь к каталогу временных файлов>");
3030
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-push-every-n-commits", "<число> количество коммитов до промежуточной отправки на удаленный сервер");
31-
Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl");
31+
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-amount-look-for-license", "<число> количество повторов получения лицензии (попытка подключения каждые 10 сек), 0 - без ограничений");
32+
Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl");
3233

3334
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3435

src/core/Классы/МенеджерСинхронизации.os

100755100644
Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
Перем мАвторизацияВХранилищеСредствами1С;
2121
Перем ЭтоWindows;
2222
Перем УдалятьВременныеФайлы;
23+
Перем КоличествоЦикловОжиданияЛицензииПоУмолчанию;
2324

2425
///////////////////////////////////////////////////////////////////////////////////////////////
2526
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
@@ -69,28 +70,42 @@
6970

7071
ЛогКонфигуратора = Логирование.ПолучитьЛог("oscript.lib.v8runner");
7172
ЛогКонфигуратора.УстановитьУровень(Лог.Уровень());
72-
73-
Попытка
74-
75-
Конфигуратор.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации, Ложь);
76-
77-
Исключение
78-
79-
// проверим текст ошибки, если текст содержит информацию о необходимости конвертировать
80-
// тогда выполним конвертацию и повторно попытаемся загрузить файл
81-
ТекстОшибки = Конфигуратор.ВыводКоманды();
82-
Если Найти(Врег(ТекстОшибки), Врег("Структура конфигурации несовместима с текущей версией программы")) Тогда
83-
84-
Конфигуратор.СконвертироватьФайлКонфигурации(ФайлКонфигурации);
73+
КоличествоЦикловОжиданияЛицензии = ПолучитьКоличествоЦикловОжиданияЛицензииПоУмолчанию();
74+
Пока КоличествоЦикловОжиданияЛицензии >= 0 Цикл
75+
Попытка
76+
8577
Конфигуратор.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации, Ложь);
78+
Прервать;
8679

87-
Иначе
80+
Исключение
81+
82+
// проверим текст ошибки, если текст содержит информацию о необходимости конвертировать
83+
// тогда выполним конвертацию и повторно попытаемся загрузить файл
84+
ТекстОшибки = ВРег(Конфигуратор.ВыводКоманды());
85+
Если Найти(ТекстОшибки, Врег("Структура конфигурации несовместима с текущей версией программы")) Тогда
86+
87+
Конфигуратор.СконвертироватьФайлКонфигурации(ФайлКонфигурации);
88+
Конфигуратор.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации, Ложь);
89+
Прервать;
90+
91+
ИначеЕсли Найти(ТекстОшибки, Врег("Не обнаружено свободной лицензии!")) Тогда
92+
Лог.Ошибка(ТекстОшибки);
93+
Лог.Информация("Повторное подключение через 10сек. Осталось попыток: " + КоличествоЦикловОжиданияЛицензии);
94+
Приостановить(10000);
8895

89-
ВызватьИсключение ТекстОшибки;
96+
Иначе
97+
98+
ВызватьИсключение ТекстОшибки;
99+
100+
КонецЕсли;
101+
102+
КонецПопытки;
90103

104+
Если ПолучитьКоличествоЦикловОжиданияЛицензииПоУмолчанию() <> 0 Тогда
105+
КоличествоЦикловОжиданияЛицензии = КоличествоЦикловОжиданияЛицензии - 1;
91106
КонецЕсли;
92-
93-
КонецПопытки;
107+
108+
КонецЦикла;
94109

95110
Если Не (Новый Файл(КаталогПлоскойВыгрузки).Существует()) Тогда
96111
СоздатьКаталог(КаталогПлоскойВыгрузки);
@@ -947,11 +962,11 @@
947962
КонецЕсли;
948963

949964
Попытка
950-
Лог.Информация("Получаем исходники для версии " + СледующаяВерсия);
965+
Лог.Информация("Получаем исходники для версии " + СледующаяВерсия + ", " + ТекущаяДата());
951966

952967
РазложитьМодулиПоНомеруВерсииХранилища1С(КаталогРабочейКопии, ФайлХранилища, СледующаяВерсия, Формат);
953968
Лог.Отладка("Фиксируем в файле VERSION версию " + СледующаяВерсия);
954-
ЗаписатьФайлВерсийГит(КаталогРабочейКопии, СледующаяВерсия);
969+
ЗаписатьФайлВерсийГит(КаталогРабочейКопии, СледующаяВерсия);
955970
ВыполнитьКоммитГит(КаталогРабочейКопии, СтрокаВерсии.Комментарий, СтрокаВерсии.ПредставлениеАвтора, СтрокаВерсии.Дата);
956971
СчетчикКоммитов = СчетчикКоммитов + 1;
957972

@@ -1370,10 +1385,20 @@
13701385
Возврат ?(ДоменПочтыДляGitПоУмолчанию = Неопределено, "localhost", ДоменПочтыДляGitПоУмолчанию);
13711386
КонецФункции
13721387

1388+
Процедура УстановитьКоличествоЦикловОжиданияЛицензииПоУмолчанию(КоличествоЦиклов) Экспорт
1389+
КоличествоЦикловОжиданияЛицензииПоУмолчанию = КоличествоЦиклов;
1390+
КонецПроцедуры
1391+
1392+
Функция ПолучитьКоличествоЦикловОжиданияЛицензииПоУмолчанию() Экспорт
1393+
Возврат КоличествоЦикловОжиданияЛицензииПоУмолчанию;
1394+
КонецФункции
1395+
1396+
13731397
//////////////////////////////////////////////////////////////////////////////////////////////
13741398
СистемнаяИнформация = Новый СистемнаяИнформация;
13751399
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
13761400

13771401
Лог = Логирование.ПолучитьЛог("oscript.app.gitsync");
13781402
ДоменПочтыДляGitПоУмолчанию = "localhost";
1379-
УдалятьВременныеФайлы=Ложь;
1403+
УдалятьВременныеФайлы = Ложь;
1404+
КоличествоЦикловОжиданияЛицензииПоУмолчанию = 1;

src/core/Модули/РаспаковщикКонфигурации.os

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616
Лог = ДополнительныеПараметры.Лог;
1717
Распаковщик = ПолучитьРаспаковщик(ДополнительныеПараметры);
1818
Распаковщик.ДоменПочтыДляGitПоУмолчанию = ПараметрыЗапуска["-email"];
19+
20+
КоличествоЦикловОжиданияЛицензии = ПараметрыЗапуска["-amount-look-for-license"];
21+
Если КоличествоЦикловОжиданияЛицензии = Неопределено Тогда
22+
КоличествоЦикловОжиданияЛицензии = 1;
23+
КонецЕсли;
24+
Распаковщик.УстановитьКоличествоЦикловОжиданияЛицензииПоУмолчанию(Число(КоличествоЦикловОжиданияЛицензии));
25+
1926
Возврат Распаковщик;
2027

2128
КонецФункции // ПолучитьИНастроитьРаспаковщик

0 commit comments

Comments
 (0)