AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.01.2019, 19:30   #21  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от mazzy Посмотреть сообщение

Скрипт рестора?! И каковы ваши гарантии, что администраторы будут запускать скрипт рестора, а не сделают рестор руками или сваяют свой скрипт?
Каковы ваши гарантии, что я сам не забуду о "скрипте рестора" через пару месяцев?

Пока вы не предложите способ, работающий гарантировано, нахер ваши рассуждения о людях.
https://www.youtube.com/watch?v=zvEfaU0gQuU
Это кто еще хулиган хакать код запуска приложения для универсального программистского решения административной проблемы

Тема LIVE ссылок в копии она всем известная и понятная. И консультанту как заказчика действия, и исполнителю в поддержке. Там еще и SSRS и EP и AIF и... И все как-то привыкли решать это скриптом. На всех проектах. Уже много лет.

Я поддерживаю задачу как учебную, она интересная. Но абсолютно против такого подхода на живом проекте.
Старый 01.02.2019, 07:38   #22  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1234 (44) ++++++++
Регистрация: 11.04.2008
Попробуй включить трейспарсер и запусти АОС (или 2й АОС) и посмотри стек вызовов на стартапе
Старый 01.02.2019, 09:17   #23  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
На просторах инета нашел, что рекомендуют добавлять вызовы в Application::startupPost().
Метод есть на 9-ке и на 12-ке, на 4 версии не смотрел.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
За это сообщение автора поблагодарили: Logger (5).
Старый 01.02.2019, 12:01   #24  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
642 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
В методе SysStartupCmd::construct() добавить в switch свою ветку case, где создаём экземпляр кастомного подкласса SysStartupCmd. Обычно достаточно перекрыть методы canRun(), infoRun().
перечитал внимательно, понял, что этот вариант не подходит.
__________________
// no comments

Последний раз редактировалось dech; 01.02.2019 в 12:12.
Старый 07.02.2019, 03:16   #25  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Кстати с удивлением обнаружил, что вашу проблему решили в D365. Время обновляться
https://docs.microsoft.com/en-us/dyn...customizations
Цитата:
static delegate void onSystemStartup()
This event occurs when the system starts up.
It is raised once per AOS upon startup.
static delegate void onFirstTimeUserInteractiveSessionCreated()
This event occurs when the system is creating an interactive session for the first time for a user.
It is raised once per user per AOS.
static delegate void onFirstTimeUserNonInteractiveSessionCreated()
This event occurs when the system is creating a non-interactive session for the first time for a user.
It is raised once per user per AOS.
static delegate void onInteractiveSessionCreated()
This event occurs when an interactive session is created and ready for use.
It is raised once per interactive session creation for any user.
static delegate void onSessionCreated(boolean _isBatch, boolean _isInteractive)
За это сообщение автора поблагодарили: Vadik (1), Logger (1), ax_mct (2).
Старый 11.02.2019, 11:36   #26  
kgksoft is offline
kgksoft
Участник
 
37 / 107 (4) +++++
Регистрация: 24.12.2003
Встречный вопрос.
А как можно узнать, что сервис AOS-а (2012) отправлен в перезагрузку (restart). Предположим есть вечный цикл (пакетное задание) и хорошо бы оно знало, сервис перезапускают. Сейчас он не знает и мешает этой самой перезагрузке (возможно я все виды CATCH-ей перехватил). На ум приходит экзотика с периодическим опрашиванием статуса windows-сервиса пакетного сервера, но верняком в систему шлются какие-то EVENT-ы в момент перезапуска и их можно перехватить. Может кто-то сталкивался?
Старый 11.02.2019, 12:21   #27  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от kgksoft Посмотреть сообщение
Встречный вопрос.
А как можно узнать, что сервис AOS-а (2012) отправлен в перезагрузку (restart). Предположим есть вечный цикл (пакетное задание) и хорошо бы оно знало, сервис перезапускают. Сейчас он не знает и мешает этой самой перезагрузке (возможно я все виды CATCH-ей перехватил). На ум приходит экзотика с периодическим опрашиванием статуса windows-сервиса пакетного сервера, но верняком в систему шлются какие-то EVENT-ы в момент перезапуска и их можно перехватить. Может кто-то сталкивался?
По идее нормально написанный Batch job прекрасно подхватывается при перезагрузке.
То есть начинает снова выполняться если расписание. Если что не так то это обычно CIL причем на Batch сервере.
Знать оно не может так как процесс прибивается но по идее может узнавать является ли он первым запуском после рестарта. Через свой флажок в базе. Но не понимаю зачем.
Старый 03.04.2023, 13:58   #28  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от KiselevSA Посмотреть сообщение
На просторах инета нашел, что рекомендуют добавлять вызовы в Application::startupPost().
Метод есть на 9-ке и на 12-ке, на 4 версии не смотрел.
Да, это похоже самый последний метод, который запускается перед стартом аоса.
Если добавить вывод лога в Application log сервера то последовательность примерно такая :
1. Application.new()
2. Info.new()
3. Application.servicesStartup()
4. Application.startup()
5. Application.startupPost()

причем между пп. 3 и 4
идут сообщения Application log вида
Цитата:
Object Server XX: Activated AIF service group: YYY. Service Count: 1.
UUU
...
Object Server XX: The Services trace level is: Off
Object Server XX: BuildXppServiceAssembly: QBTrace Enabled: False
Object Server XX: CheckReportingQBClass: Reporting QB Class Name: SrsReportProviderQueryBuilderArgs. ClassId: YYYYY. Class EXISTS.
а после п.5 сразу идет сообщение вида
Object Server XX: RPC error: Failed to register service principal name (SPN): 'GUID/SERVERNAME:2712'

и аос стартует.

Ну можно еще конечно добавить в код проверку
X++:
if (session.clientKind() == ClientType::Server && session.sessionId() == 1)
во избежание лишних срабатываний.

Последний раз редактировалось Logger; 03.04.2023 в 14:02.
За это сообщение автора поблагодарили: dech (5), gl00mie (5).
Теги
как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ax2012 r2: Как более правильно поменять компанию из под которой работает POS? MikeR DAX: Администрирование 2 22.07.2013 10:41
Предварительные выводы о переходе с AX2009 на AX2012 Pustik DAX: Функционал 24 30.10.2011 17:58
Ax2009 Workflow. Действия -> Просмотр журнала Poleax DAX: Программирование 2 25.05.2011 12:23
Ошибка установки AOS AX2009 на Win2008R2 miaa DAX: Администрирование 13 03.11.2010 15:21
Помогите с выбором версии SQL Server для Ax2009 Predator DAX: Администрирование 9 02.02.2010 21:38
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:25.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.