powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Перезапуск Cache из ZEN/CSP
17 сообщений из 17, страница 1 из 1
Перезапуск Cache из ZEN/CSP
    #39793605
vcoshak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Возможно ли реализовать перезапуск Cache из ZEN/CSP с последующим восстановлением сессии?
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39793666
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vcoshakДоброго времени суток.
Возможно ли реализовать перезапуск Cache из ZEN/CSP с последующим восстановлением сессии?Caché программно может себя остановить. Для того чтобы перезапустить нужно это делать на уровне Операционной системы, например там скрипт и его вызывать асинхронно.
А вот восстановить сессию конечно уже не получится. Cache не сохраняет сессии при остановке сервера, можно наверно это обойти, но зачем. Если так нужно, то что-то делаеется не правильно. Перезапускать сервер пока с ним работают пользователи, зачем это надо?
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39793700
vcoshak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor,
Это нужно для актуализации системы.
При актуализации заменяется и заново компилируется весь проект, модифицируются глобали.
До актуализации нужно остановить все пользовательские процессы и запретить пользователям вход.
Поскольку в нашем приложении есть процессы, которые запускаются "псевдо-случайно" (при определённых условиях) и без привязки к конкретному пользователю, их трудно вычленить и остановить. Проще перезапустить систему.
В данный момент это делает .NET-приложение, которое управляет всем процессом актуализации.
Стоит задача всё сделать через WEB приложение.
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39793979
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vcoshak,

очень похоже на рытьё подземного хода на чердак
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794071
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vcoshak,

Повесить внешний сервис чтобы коцал базу по какому-либо выставленому web ui флагу?
Звать внешний exe из каше?
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794427
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vcoshakПоскольку в нашем приложении есть процессы, которые запускаются "псевдо-случайно"

То имеет смысл добавить во все эти процессы проверку не находится ли система "состоянии актуализации", по моему это проще чем рестартовать БД
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794493
vcoshak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, вопрос не состоит в том, чтобы вообще избежать перезапуска Cache - этот вопрос вообще не обсуждается, плохо это или хорошо.
Вопрос в том, возможно ли это реализовать из ZEN/CSP.

Я задал вопрос на этом форуме т.к. сам не пользуюсь и не имею опыта работы с WEB/JS. Но думаю, что в принципе это реализовать можно. Например, такой подход реализован в Веб-интерфейсе бытового рутера "FritzBox" (если кто знает) с простейшим (по сравнению с Cache) Веб-сервером.

Как я понимаю, решение могло бы быть в том, чтобы JS из веб-страницы послал команду перезапуска и потом периодически проверял, доступен ли веб-сервер снова. Если да, то веб-страница перезагружается. При этом восстанавливать в точности ту же сессию не обязательно. Её состояние можно сохранить перед рестартом, а потом загрузить сохранённые параметры в новую сессию.
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794509
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vcoshak,

WEB/JS здесь эту задачу вообще не решают, это просто интерфейс. Так как же как в вам упомянутом роутере, и в любом другом подобном оборудовании, такое есть. Но делается это просто вызовом определенных функций на стороне сервера.

И ващем случае, если вы точно решили что вам так надо и вы готовы пойти на все риски, такие как безопасность, и то что сервер не вернется после остановки.

Вам нужна программа или простой скрипт внешние по отношению к Caché, которые смогут сделать все по команде, и проверить что все прошло верно.

как я уже писал из Caché вы сможете только его остановить. Все остальные варианты только из вне, управление сервисом. И варианты реализации могут отличаться от операционной системы.
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794512
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет восстановления сессии, пока не совсем понятно, зачем это нужно. Попытаться реализовать конечно можно, но проще и правильней реализовать так чтобы в этом отпала необходимость.
Если нужно, чтобы не нужно было авторизовываться сразу же после перезапуска, я пока не вижу в этом необходимости по описанному процессу.

Если это нужно чтобы было понятно, где продолжить, то тут просто нужно разбить на этапы и сохранять в глобал, какие этапы выполнены, и даже если просто открыли страницу с нуля, должно вернуть последний не выполненный этап.
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794630
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot DAiMor]vcoshakCache не сохраняет сессии при остановке сервера
Чтобы не сохранить то что хранится в глобалах надо иметь специальный код, который что-то там удалит.
А зачем удалять сессии? Они становятся какими-то кривыми от того, что сервер перезапустился?
Тогда почему бы не удалять все файлы на компе при его перезапуске?
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794711
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorкак я уже писал из Cache вы сможете только его остановить...Почему же, можно и перезапустить - через асинхронный запуск внешней команды $zf(-2,"cmd"). Баловался этим лет 20 назад, когда только перешли в Cache и по привычке хотелось делать всё, не выходя из интерфейса командной строки СУБД.

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

Перезапуск сервера ради установки обновления - можно ещё понять, если много фоновых процессов работает и сложно их централизованно остановить или надо CACHETEMP почистить, хотя и это решаемо.
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794752
vcoshak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Maslov,

у нас всё происходит ровно по той схеме, которую вы описали. Только управляет всем .NET-приложение.
Однако хотелось бы уйти от установки и поддержки лишнего .NET-клиента, т.к. он делает простые вещи:
1. загружает файлы программ и глобалей из файловой системы (через стандартный диалог) в cache
2. ставит флаг запрета входа в приложение и перезапускает cache
3. передаёт управление классу cache, который выполняет всю работу по обновлению
4. принимает и показывает протокол и результат
5. снимает флаг запрета входа при успехе.
Всё это можно было бы (как мне кажется) реализовать через ZEN, если бы загруженная в браузер страница сохраняла активность после асинхронной подачи команды на перезапуск cache и отслеживала новый старт (таймер в JS?), после чего снова загружалась и активировала процесс начиная с п.3
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794767
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vcoshak...у нас всё происходит ровно по той схеме, которую вы описали...С точностью до перезапуска Cache. Зачем он вам?
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794783
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovПочему же, можно и перезапустить - через асинхронный запуск внешней команды $zf(-2,"cmd").Такой способ я и не отрицаю и его как раз предлагал, я про нативный способ без вызова в операционную. Доступна только остановка
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39794870
vcoshak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Maslovvcoshak...у нас всё происходит ровно по той схеме, которую вы описали...С точностью до перезапуска Cache. Зачем он вам?Так вот для этого же:
Alexey MaslovПерезапуск сервера ради установки обновления - можно ещё понять, если много фоновых процессов работает и сложно их централизованно остановить...Именно так и есть.
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39795024
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vcoshak...если много фоновых процессов работает и сложно их централизованно остановить...
Именно так и есть.На самом деле, не ахти какая проблема обойти все процессы в цикле $order(^$Job(pid)) или другим способом и прибить "свои", распознав их по некоторому признаку, и аккуратно прибить. Признаком может быть некоторая переменная, которая должна быть определена, или блокировка Lock +^ActivityGlobal(pid), наличие которой можно определить по $data(^$Lock(...)). Второе надёжней, IMHO, и работать должно быстрее, чем лазить в каждый процесс для проверки его переменной.

В любом случае, время, которое будет потрачено на убиение процессов, наверняка окажется много меньше времени, которое требуется для установки обновления. Профит:
- избегаете перезапуска Cache, который в случае Windows обычно требует и перезагрузки ОС из-за незахвата Large Pages; другие негативные последствия перезапуска Cache, думаю, вам тоже известны;
- не надо решать нетривиальную задачу, которую вы поставили в данной теме.
...
Рейтинг: 0 / 0
Перезапуск Cache из ZEN/CSP
    #39795095
vcoshak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем, кто откликнулся.
Думаю, тема исчерпана.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Перезапуск Cache из ZEN/CSP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]