Имя: Пароль:
1C
1С v8
Программная публикация базы на apache
, , ,
0 Evil-Wisp
 
08.10.21
11:36
Всем здравствуйте. Стоит задача публиковать программно созданные базы на вебсеврере. Сейчас решил задачу через дописывание httpd.conf и создание каталога с файлом default.vrd.
Узкое место тут, что приходится перезапускать службу apache и у всех зависает 1С на 10-15 секунд + не отрабатываются новые запросы.
Есть какие-то варианты обновление действующего конфига без перезапуска? Либо настроить, чтобы его не нужно было дописывать, а писать в какой-нибудь динамический конфиг?
Windows 10.
1 ДенисЧ
 
08.10.21
11:37
Нет. Апач так не умеет.
Придётся отказаться от этой больной идеи.
2 lodger
 
08.10.21
11:40
перевози апач на униксы, там есть Graceful Restart
3 Evil-Wisp
 
08.10.21
11:41
(2) Не вариант. Может есть какие-то сборки апача с этой штукой?
4 Evil-Wisp
 
08.10.21
11:42
Может в IIS можно так сделать? Но насколько там сложно программную публикацию сделать?
5 polosov
 
08.10.21
11:42
(3) Еще какой вариант.
6 lodger
 
08.10.21
11:47
7 Evil-Wisp
 
08.10.21
11:47
(5) ставить VM, какой-то линукс и как ему нормально команды передавать? Хочется все на 1С написать
8 lodger
 
08.10.21
11:48
(7) "и как ему нормально команды передавать? " - ssh же. первый раз в IT?
9 Aleksey
 
08.10.21
11:49
А что старый добрый вариант со десятком пустых баз не вариант?
10 Aleksey
 
08.10.21
11:49
создаем пустую базу, публикуме и так 10 раз. Потом по необходимости заливаем в пустые базын нужные данные. Раз в N дней повторить
11 lodger
 
08.10.21
11:50
(9) это вообще самый дешёвый вариант. правда, заранее обычно неизвестно, как должна называться база.
12 lodger
 
08.10.21
11:51
13 Evil-Wisp
 
08.10.21
11:54
(9) Можно базы не создавать, а сделать 100 публикаций, и внутри default.vrd менять привязку в уже созданным базам. Потом ненужные базы ночью удаляются, а публикации можно в принципе не трогать, просто перезаписывать. Спасибо, надо додумать.
14 Aleksey
 
08.10.21
12:16
(11) base1, base2, baseN - Кому нужны эти человеческие названия. Или если назвать UT11_test15 то будет понятнее?
15 Evil-Wisp
 
08.10.21
13:57
(12) Предпочитаю DBa3fd1d69d87d40c6be0eb33e27705cd8, DBa4d871b4de254bdf89084fa488d8fe5d, DBa9dc92bdfe0b49b68ea5cbe404bf6431...
16 Garykom
 
гуру
08.10.21
13:59
(0) 1. тебе кто то запрещает много разных апачей держать на разных портах на одной машине?
2. если чему то внешнему надо все на одном порту то перед ними (апачами) nginx и он умеет reload
17 Evil-Wisp
 
08.10.21
14:16
(16) Предлагаешь сделать 100 апачей?
А как reload в nginx обновит конфигурацию апача?
18 Garykom
 
гуру
08.10.21
14:19
(17) nginx свой конфиг обновит в котором настройки обратных пробросок на апачи
и да хоть 1000 апачей делай
19 Garykom
 
гуру
08.10.21
14:21
(18) "nginx proxy_pass apache" в гугл
20 Evil-Wisp
 
08.10.21
15:49
Вариант с пустыми публикациями подходящий. Можно программно проверять хватило ли текущих и ночью создавать новые, если вдруг потребуется больше. И публикации оперативную память не едят. Не усложняют систему новым элементом типа nginx.
21 Garykom
 
гуру
08.10.21
15:53
(20) достаточно двух апачей и одного nginx
причем настройку nginx даже менять не надо

nginx настраиваем на балансировку между апачами, если один не пашет все идет на второй
допустим надо добавить базу, берем все настройки/публикации с первого и добавляем на второй апач и туда же добавляем новую публикацию
запускаем второй апач - запросы на оба, останавливаем первый и все идут на второй

если надо еще базы то тоже самое
22 Garykom
 
гуру
08.10.21
15:54
(21)+ ты же в курсе что одну базу можно несколько раз опубликовать?
Программист всегда исправляет последнюю ошибку.