aiki » Ср май 11, 2016 11:36
bolt писал(а):aiki писал(а):anatolysa писал(а):
С терминалом др нюанс. Что бы обновление прошло успешно, все экземпляры программ должны быть закрыты. Апдейтер принудительно их не закрывает. Поэтому вам нужно следить за сеансами пользователей (ставить таймеры на активность и завершение сеансов) средствами терминального сервера.
Вот как раз очень интересует проблема с активными сеансами в терминальной версии.
У меня порядка 30 человек, которые сидят в разных местах (географически).
СтоИт автообновление ночью, перед обновлением пользователей выкидывает автоматом и всё ок. Но иногда, что-то идет не так и появляется ошибка о том, что последнее обновление прошло не корректно и бла бла бла...
Тут начинаются танцы с бубнами: обзвонить всех, попросить выйти из программ, (простым выкидыванием не помогает, ибо пользователь просто заново сам заходит, не успеваю обновить даже, и программа обновления ругается на открытые сеансы...), ручное обновление...
Неужели нет никакого решения для этой проблемы? Не было бы проблем если бы все люди сидели в одном офисе (крикнул "всем выйти из сумрака!", обновился и всё ок...), а в моем случае приходится всех обзванивать...
Ну ситуация тут чисто организационного плана. Под выкидыванием вы понимаете отключение от сеанса или его завершение?
На счет ошибок обновления, нужно логи апдейтера смотреть, чтоб понять что пошло не так. И там думать уже.
Я в одном месте немного усовершенствовал процесс обновления при помощи cmd файла. Вот его содержимое:
chcp 1251 >NUL
MSG * 'Через 5 минут будут принудительно завершены все программы Альта-софт для проведения обновления. Сохраните документы. Возобновить работу можно через 20 минут.'
TIMEOUT /T 300
chcp 866 >NUL
tskill gtdw /a && tskill artdb /a && tskill taxwin /a && tskill zapoln /a && tskill ordview /a && tskill ordwlite /a && tskill REFUPD /a
c:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
@echo off
:wait
TASKLIST | find "altastp.exe" >nul
if %errorlevel%==0 goto wait
c:\articul\artdb.exe /UpdAllDB /silence
C:\alta\REFUPD.exe
chcp 1251 >NUL
MSG * 'Обновление завершено. Можно возобновить работу с программами Альта-софт.'
EXIT
Что он делает - рассылает сообщение в сеансы "MSG"
ждет указанные 5 минут
убивает перечисленные процессы во всех сеансах "tskill"
запуск собственно апдейтера
ожидание завершения установщика Альты
запуск артикула для обновления структуры БД (у кого есть он, тот знает про эту заморочку)
снова сообщение
выход.
Если поможет и будут ваши дополнения, буду рад
[quote="bolt"][quote="aiki"][quote="anatolysa"]
С терминалом др нюанс. Что бы обновление прошло успешно, все экземпляры программ должны быть закрыты. Апдейтер принудительно их не закрывает. Поэтому вам нужно следить за сеансами пользователей (ставить таймеры на активность и завершение сеансов) средствами терминального сервера.[/quote][/quote]
Вот как раз очень интересует проблема с активными сеансами в терминальной версии.
У меня порядка 30 человек, которые сидят в разных местах (географически).
СтоИт автообновление ночью, перед обновлением пользователей выкидывает автоматом и всё ок. Но иногда, что-то идет не так и появляется ошибка о том, что последнее обновление прошло не корректно и бла бла бла...
Тут начинаются танцы с бубнами: обзвонить всех, попросить выйти из программ, (простым выкидыванием не помогает, ибо пользователь просто заново сам заходит, не успеваю обновить даже, и программа обновления ругается на открытые сеансы...), ручное обновление...
Неужели нет никакого решения для этой проблемы? Не было бы проблем если бы все люди сидели в одном офисе (крикнул "всем выйти из сумрака!", обновился и всё ок...), а в моем случае приходится всех обзванивать...[/quote]
Ну ситуация тут чисто организационного плана. Под выкидыванием вы понимаете отключение от сеанса или его завершение?
На счет ошибок обновления, нужно логи апдейтера смотреть, чтоб понять что пошло не так. И там думать уже.
Я в одном месте немного усовершенствовал процесс обновления при помощи cmd файла. Вот его содержимое:
[b]chcp 1251 >NUL
MSG * 'Через 5 минут будут принудительно завершены все программы Альта-софт для проведения обновления. Сохраните документы. Возобновить работу можно через 20 минут.'
TIMEOUT /T 300
chcp 866 >NUL
tskill gtdw /a && tskill artdb /a && tskill taxwin /a && tskill zapoln /a && tskill ordview /a && tskill ordwlite /a && tskill REFUPD /a
c:\alta\altaupd.exe -pgtdwin -oc:\alta\ -quiet -d
@echo off
:wait
TASKLIST | find "altastp.exe" >nul
if %errorlevel%==0 goto wait
c:\articul\artdb.exe /UpdAllDB /silence
C:\alta\REFUPD.exe
chcp 1251 >NUL
MSG * 'Обновление завершено. Можно возобновить работу с программами Альта-софт.'
EXIT[/b]
Что он делает - рассылает сообщение в сеансы "MSG"
ждет указанные 5 минут
убивает перечисленные процессы во всех сеансах "tskill"
запуск собственно апдейтера
ожидание завершения установщика Альты
запуск артикула для обновления структуры БД (у кого есть он, тот знает про эту заморочку)
снова сообщение
выход.
Если поможет и будут ваши дополнения, буду рад :)