powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Вызвать скрипт переиндексации из командной строки?
13 сообщений из 13, страница 1 из 1
Вызвать скрипт переиндексации из командной строки?
    #39037983
spock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, здравствуйте!
Нужно периодически из поднятых бекапов базы Каше дружественной организации "дергать" данные. По каким-то причинам данные имеют несогласованность со своими же индексами. Опытным путем нашел способ лечения - переиндексация интересующих меня таблиц. Но выполнять это через терминал не удобно. Как можно эту рутину автоматизировать? Например, запуск какого-либо батника с инструкциями переиндексации?

Сейчас каждую строку из скрипта ниже приходится вставлять в окно терминала - неудобно: zn "MyName"
 d ##class(MyC1.MyT1).%BuildIndices()
 d ##class(MyC2.MyT1).%BuildIndices()
 d ##class(MyC3.MyT1).%BuildIndices()
 d ##class(MyC4.MyT1).%BuildIndices()
 d ##class(MyC4.MyT1).%BuildIndices()
 d ##class(MyC4.MyT1).%BuildIndices()
 d ##class(MyC4.MyT1).%BuildIndices()
 d ##class(MyC4.MyT1).%BuildIndices()
 d ##class(MyC5.MyT1).%BuildIndices()
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39038020
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spock , можно написать программу со всеми этими командами, потом запускать только ее одну...
Можно воспользоваться возможностями кащейского терминала выполнять командный файл, а сам терминал запускать батфайлом c параметрами...
Можно оба варианта совместить, т.е. и программу написать... И использовать командные файлы...
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39038023
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот какое-никакое описание работы с командным файлом кащейского терминала...
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39038027
spock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa, второй вариант идеален! Где найти в документации про параметры терминала? Я искал про терминал, но, видимо, это не на виду.
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39038029
spock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

премного благодарен :)
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39038044
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spockГде найти в документации про параметры терминала?
Ссылку не подскажу... Но вот примерчик.

Батфайл
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
@echo off
SET CACHEPATH=c:\InterSystems\Cache
SET SCRIPTPATH=c:\box\install\reg
SET WORKSPACE=REG
SET SERVERNAME=localhost
SET INSTALLPATH=c:\Inetpub
echo Текущие параметры установки:
echo - Путь установки Cache: %CACHEPATH%
echo - Область для установки: %WORKSPACE%
echo - Путь для установки задачи: %INSTALLPATH%
pause
echo Копирую директории из каталога установки в web-папку %INSTALLPATH%
xcopy %SCRIPTPATH%\www %INSTALLPATH%\wwwroot /E /I /Y /V /Q

%CACHEPATH%\BIN\CTERM.EXE %SCRIPTPATH%\install.scr %SCRIPTPATH% %WORKSPACE% %INSTALLPATH% /console=cn_iptcp:%SERVERNAME%[23]:%WORKSPACE%


Командный файл для Кащея
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
echo: off
send: zn "<p2>"<cr>
send: s ^tmp("reg","path")="<p1>"<cr>
send: s ^tmp("reg","obl")="<p2>"<cr>
send: s ^tmp("reg","www")="<p3>"<cr>
send: d $system.OBJ.Load("<p1>\regINST.xml","fck-du")<cr>
send: d $system.OBJ.Load("<p1>\version.xml","fck-du")<cr>
send: d INSTALL^regINST<cr>
send: d ^rgNAST<cr>
send: h<cr>
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39038046
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaКомандный файл для Кащея
Это install.scr ...
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39038051
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spockГде найти в документации про параметры терминала? Я искал про терминал, но, видимо, это не на виду.
Как вариант...
[Documentation] > [Tools and Utilities] > [Using the Caché Terminal]
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39038156
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем же это делать снаружи, если можно делать встроенным планировщиком
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39039044
velmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorЗачем же это делать снаружи, если можно делать встроенным планировщиком
Это скучно.А вот найти способ пускать терминал батником и запихивать в него код - это достойно настоящего мужчины. :)
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39039123
eduard93
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
velmarDAiMorЗачем же это делать снаружи, если можно делать встроенным планировщиком
Это скучно.А вот найти способ пускать терминал батником и запихивать в него код - это достойно настоящего мужчины. :)
Вот тут можете посмотреть на генерацию батников/баш-скриптов для Cache. Там даже есть генерация батников из других батников и их последующее выполнение.
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39039523
spock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor, а можно поподробнее? Меня бы устроил и этот вариант.

В cache я сторонний человек, потому могу задавать "детские" вопросы, простите меня, коллеги.
...
Рейтинг: 0 / 0
Вызвать скрипт переиндексации из командной строки?
    #39039536
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В портале управления есть менеджер задач, System Operation, Task Manager
Там можно создать задачу которая будет выполнять код на Cache, по любому графику
Пишешь mac рутину, и в новой задаче указываешь тип RunLegacyTask, и там нужно указать эту рутину
есть еще возможность создать свой тип задачи, наследник класса %SYS.Task
в таком случае задачу можно будет параметризировать. и выполнять в разное время ее с разными настройками.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Вызвать скрипт переиндексации из командной строки?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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