Skip to content

Commit 9e989ab

Browse files
authored
Merge branch 'infina15:master' into master
2 parents 5e43b0d + 564782d commit 9e989ab

8 files changed

+48
-8
lines changed

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
[![Тестирование](https://github.com/infina15/oproxy/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/infina15/oproxy/actions/workflows/test.yml)
12
## oproxy - TCP прокси-сервер хранилища конфигураций 1С
23

34
Написан на [OneScript](https://github.com/EvilBeaver/OneScript). Вдохновлен [winow](https://github.com/autumn-library/winow)
@@ -98,6 +99,10 @@ oproxy init
9899
### Запуск сервера в режиме службы (только для Windows)
99100
В дистрибутиве есть менеджер служб [NSSM](https://nssm.cc/) под 64-битную Windows. Располагается в features\nssm64_oproxy.exe. На него настроены команды создания/удаления/прочие действия со службой прокси-сервера.
100101

102+
### Параметр --daemon-name
103+
104+
Все команды по работе с демоном имеют параметр необязательный параметр --daemon-name (по умолчанию OproxyDaemon). С помощью него можно указать свое имя демона, отличное от значения по умолчанию. Данный параметр используется, когда нужно запустить несколько служб одновременно (например на разные версии хранилища).
105+
101106
Команда
102107
```
103108
oproxy create-daemon
@@ -181,7 +186,7 @@ oproxy start --proxy-port 2555 --storage-server localhost --storage-port 2544 --
181186
HTTPS - тоже не забота прокси, настраивается в веб-сервере.
182187

183188
### Кроссплатформенность и производительность
184-
Протестировано на Windows Server с 1С 8.3.22.2143 и OneScript 1.8.4.5. Потребление ОЗУ ~50-100 МБ, иногда может вырастать чуть больше на тяжелых операциях, но вскоре сборщик мусора эту память освободит. ERP и бухгалтерия работают с той же скоростью, как и напрямую по tcp. Проверено создание хранилища, подключение, отключение, сравнение версий в разных вариациях, выгрузка файла CF из версии хранилища, захват и помещение объектов конфигурации, в том числе и глобальные, и прочее-прочее-прочее...
189+
Протестировано на Windows Server с 1С 8.3.22.2143 и OneScript 1.9.0. Потребление ОЗУ ~50-100 МБ, иногда может вырастать чуть больше на тяжелых операциях, но вскоре сборщик мусора эту память освободит. ERP и бухгалтерия работают с той же скоростью, как и напрямую по tcp. Проверено создание хранилища, подключение, отключение, сравнение версий в разных вариациях, выгрузка файла CF из версии хранилища, захват и помещение объектов конфигурации, в том числе и глобальные, и прочее-прочее-прочее...
185190

186191
Про Linux и MacOS не знаю - буду рад отзывам!
187192

packagedef

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66

77
Описание.Имя("oproxy")
8-
.Версия("0.0.4")
8+
.Версия("0.0.5")
99
.Автор("Юрий Камисов")
1010
.АдресАвтора("https://github.com/infina15")
1111
.Описание("TCP прокси-сервер хранилища конфигураций 1С")
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1-
&КомандаПриложения(Имя = "start-daemon", Описание = "Запуск службы Windows под названием OproxyDaemon, созданной с помощью команды create-daemon")
1+
&Опция(Имя = "dn daemon-name", Описание = "(необязательный) кастомное имя демона, в случае когда надо настроить несколько демонов. По умолчанию OproxyDaemon.")
2+
&ТСтрока
3+
Перем ИмяДемона Экспорт;
4+
5+
&КомандаПриложения(Имя = "start-daemon", Описание = "Запуск службы Windows под названием OproxyDaemon (или кастомным), созданной с помощью команды create-daemon")
26
Процедура ПриСозданииОбъекта()
37
КонецПроцедуры
48

59
&ВыполнениеКоманды
610
Процедура ЗапуститьДемона() Экспорт
11+
РаботаСДемоном.ИмяДемона = ИмяДемона;
712
РаботаСДемоном.Запустить();
813
КонецПроцедуры
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1-
&КомандаПриложения(Имя = "stop-daemon", Описание = "Остановка службы Windows под названием OproxyDaemon, созданной с помощью команды create-daemon")
1+
&Опция(Имя = "dn daemon-name", Описание = "(необязательный) кастомное имя демона, в случае когда надо настроить несколько демонов. По умолчанию OproxyDaemon.")
2+
&ТСтрока
3+
Перем ИмяДемона Экспорт;
4+
5+
&КомандаПриложения(Имя = "stop-daemon", Описание = "Остановка службы Windows под названием OproxyDaemon (или кастомным), созданной с помощью команды create-daemon")
26
Процедура ПриСозданииОбъекта()
37
КонецПроцедуры
48

59
&ВыполнениеКоманды
610
Процедура ОстановитьДемона() Экспорт
11+
РаботаСДемоном.ИмяДемона = ИмяДемона;
712
РаботаСДемоном.Остановить();
813
КонецПроцедуры
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1-
&КомандаПриложения(Имя = "restart-daemon", Описание = "Перезапуск службы Windows под названием OproxyDaemon, созданной с помощью команды create-daemon")
1+
&Опция(Имя = "dn daemon-name", Описание = "(необязательный) кастомное имя демона, в случае когда надо настроить несколько демонов. По умолчанию OproxyDaemon.")
2+
&ТСтрока
3+
Перем ИмяДемона Экспорт;
4+
5+
&КомандаПриложения(Имя = "restart-daemon", Описание = "Перезапуск службы Windows под названием OproxyDaemon (или кастомным), созданной с помощью команды create-daemon")
26
Процедура ПриСозданииОбъекта()
37
КонецПроцедуры
48

59
&ВыполнениеКоманды
610
Процедура ПерезапуститьДемона() Экспорт
11+
РаботаСДемоном.ИмяДемона = ИмяДемона;
712
РаботаСДемоном.Перезапустить();
813
КонецПроцедуры

src/Классы/cli_СозданиеДемона.os

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@
1919
&Обязательный
2020
Перем ПутьКФайлуПроверок Экспорт;
2121

22-
&КомандаПриложения(Имя = "cd create-daemon", Описание = "Создание и запуск службы Windows под названием OproxyDaemon. Служба будет запускать прокси с заданными параметрами")
22+
&Опция(Имя = "dn daemon-name", Описание = "(необязательный) кастомное имя демона, в случае когда надо настроить несколько демонов. По умолчанию OproxyDaemon.")
23+
&ТСтрока
24+
Перем ИмяДемона Экспорт;
25+
26+
&КомандаПриложения(Имя = "cd create-daemon", Описание = "Создание и запуск службы Windows под названием OproxyDaemon (или кастомным). Служба будет запускать прокси с заданными параметрами")
2327
Процедура ПриСозданииОбъекта()
2428
КонецПроцедуры
2529

@@ -30,5 +34,6 @@
3034
АдресСервера,
3135
ПортСервера,
3236
ПутьКФайлуПроверок);
37+
РаботаСДемоном.ИмяДемона = ИмяДемона;
3338
РаботаСДемоном.СоздатьИЗапустить(СтрокаПараметров);
3439
КонецПроцедуры
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1-
&КомандаПриложения(Имя = "rd remove-daemon", Описание = "Остановка и удаление службы Windows под названием OproxyDaemon, созданной с помощью команды create-daemon")
1+
&Опция(Имя = "dn daemon-name", Описание = "(необязательный) кастомное имя демона, в случае когда надо настроить несколько демонов. По умолчанию OproxyDaemon.")
2+
&ТСтрока
3+
Перем ИмяДемона Экспорт;
4+
5+
&КомандаПриложения(Имя = "rd remove-daemon", Описание = "Остановка и удаление службы Windows под названием OproxyDaemon (или кастомным), созданной с помощью команды create-daemon")
26
Процедура ПриСозданииОбъекта()
37
КонецПроцедуры
48

59
&ВыполнениеКоманды
610
Процедура УдалитьДемона() Экспорт
11+
РаботаСДемоном.ИмяДемона = ИмяДемона;
712
РаботаСДемоном.Удалить();
813
КонецПроцедуры

src/Модули/РаботаСДемоном.os

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
#Использовать 1commands
2+
3+
Перем ИмяДемона Экспорт;
4+
25
Функция ИмяДемона() Экспорт
3-
Возврат "OproxyDaemon";
6+
Результат = "";
7+
Если ЗначениеЗаполнено(ИмяДемона) Тогда
8+
Результат = ИмяДемона;
9+
Иначе
10+
Результат = "OproxyDaemon";
11+
ИмяДемона = Результат;
12+
КонецЕсли;
13+
Возврат Результат;
414
КонецФункции
515

616
Функция ПутьКСервисМенеджеру() Экспорт

0 commit comments

Comments
 (0)