Конференция "Corba" » Сервер автоматизации и LogOff админа
 
  • wsv (17.02.08 15:19) [0]
    Здравствуйте всем.

    Подскажите, плиз, как быть...

    1. Есть сокет сервер;
    2. Есть сервер автоматизации;
    3. Есть комп (сервер) на котором все это крутится и плюётся данными по запросам;
    4. Есть админ, который сидит со своей учетной записью.

    Пока админ сидит - все ок, все работает. Как только он делает LogOff, сервер автоматизации работать перестает.

    Кроме того, написан сервис, который запускает сервер автоматизации по расписанию.

    Этот сервис сам нормально робит когда админ не залогинен, но сервер автоматизации, есс-но также запускаться отказывается.

    Как сделать-то, чтобы работало?
  • Slym © (18.02.08 04:52) [1]
    сокет сервер перевести в режим сервиса
  • wsv (18.02.08 06:16) [2]

    > сокет сервер перевести в режим сервиса


    Он итак в сервисах.
    Я так понимаю, ось просто не может создать экземпляр сервера автоматизации без залогиненного юзера.
  • Сергей М. © (18.02.08 09:31) [3]

    > Он итак в сервисах


    Под какой уч.записью стартует BSS-сервис ?
  • wsv (18.02.08 09:43) [4]

    > Под какой уч.записью стартует BSS-сервис ?


    Админской.
  • Сергей М. © (18.02.08 10:00) [5]

    > Админской.


    Почему не с системной ?


    > 2. Есть сервер автоматизации;


    Что в нем творится ?
    Обращения к СУБД там есть ?
  • wsv (18.02.08 10:05) [6]

    > Обращения к СУБД там есть ?


    Конечно. Крутится Firebird в сервисах и Мускул.


    > Почему не с системной ?

    Правильно. С системной. В списке сервисов и в таск менеджере System. Не так понял я вопрос.
  • Сергей М. © (18.02.08 11:12) [7]
    А что мешает определить успех или неуспех загрузки/инициализации экз-ра апп-сервера ?
  • wsv (18.02.08 11:19) [8]

    > А что мешает определить успех или неуспех загрузки/инициализации
    > экз-ра апп-сервера ?


    Ничто не мешает. Операции, в том числе и старт-стоп пишутся в лог.
    Пока админ активен - все ок, как только LogOff - записи о старте нет.
  • Сергей М. © (18.02.08 11:33) [9]

    > записи о старте нет


    О старте чего ?

    Покажи место в тексте апп-сервера, где выполняется протоколирование его работы
  • wsv (18.02.08 11:41) [10]

    > Покажи место в тексте апп-сервера, где выполняется протоколирование
    > его работы


    Причем здесь протоколирование работы?

    На клиенте нет результатов. При LogOn админом после такого запуска, ось предлагает отправить отчет об ошибке в MS.
  • Сергей М. © (18.02.08 12:03) [11]

    > Причем здесь протоколирование работы?


    При том что


    > Я так понимаю, ось просто не может создать экземпляр сервера
    > автоматизации


    Предполагать можно что угодно, а факт фиксируется только протоколированием.
  • ага (18.02.08 20:21) [12]
    2 wsv

    Настрой запуск СОМ-сервера от конкретной учетки, лучше специально для этого созданной. Настраивается через DComCnfg, хотя можно и из программы.  У тя, как я понял, стоит по умолчанию, то бишь от залогиненного юзюра. А нет юзера - нет и запуска.
  • ага (18.02.08 20:28) [13]

    > Кроме того, написан сервис, который запускает сервер автоматизации
    > по расписанию

    А это нафига? BSS его сам стартанет по запросу клиента. А если стартует, то как? Через COM, через CreateProcess, через CreateProcessAsUser? Если последнее, то совпадает ли учетка с настройкой сервера?
  • wsv (19.02.08 11:45) [14]

    > А это нафига? BSS его сам стартанет по запросу клиента.


    Сервис предполагает выполнение операций сервером автоматизации по расписанию, без запроса с клиента.


    > А если стартует, то как?

    Если речь идет о сервере автоматизации, то обычным образом:
    socketconnection.AppServer.work ............
  • wsv (19.02.08 11:48) [15]

    > Настрой запуск СОМ-сервера


    Сам-то сервер автоматизации не является службой.
  • wsv (19.02.08 11:52) [16]

    > Сам-то сервер автоматизации не является службой.


    ЗАЧЕРКНУТЬ.

    Все нашел.
  • wsv (19.02.08 12:24) [17]
    Один фиг не дает запустить клиентом при лог-оффе
  • Сергей М. © (19.02.08 13:07) [18]
    Т.е. ты утверждаешь, что строка


    > socketconnection.AppServer.work


    не вызывает исключения при ее исполнении в условиях LogOff ?
  • wsv (19.02.08 13:13) [19]

    > не вызывает исключения при ее исполнении


    Вызывает. На серверной машине и резалт на клиенте отсутствует.


    > При LogOn админом после такого запуска, ось предлагает отправить
    > отчет об ошибке в MS.
  • wsv (19.02.08 13:18) [20]
    На клиенте исключение "Server execution failed".
  • Сергей М. © (19.02.08 13:39) [21]
    Все ясно.
    Плохи твои дела.

    В модулях SConnect и MConnect для создания COM-объектов используется CoCreateInstance, а не CoCreateInstanceEx - она и вызывает ошибку в упомянутых условиях.

    Выходов 2: переход на TDCOMConnection либо доработка SConnect в частности и, как следствие, BSS в целом.
  • Slym © (19.02.08 13:46) [22]
    запустить сервис от учетки одмина
  • wsv (19.02.08 14:03) [23]

    > запустить сервис от учетки одмина


    До сервиса еще дело не дошло. Сервер автоматизации еще пока только запускаем при логоффе.
  • Сергей М. © (19.02.08 14:11) [24]

    > До сервиса еще дело не дошло


    Как это не дошло ?
    Ты же сказал, что твой сервис обращается к BSS-сервису посредством TSocketConnection ?
    Ну так вот и стартуй BSS с правами админа !
    А твой сервис тут вообще ни при чем - не он же создает экз-р апп-сервера, а BSS ..
  • wsv (19.02.08 14:32) [25]
    BSS кроме как Local System Account стартовать больше никак не хочет.
  • wsv (19.02.08 14:52) [26]

    > Как это не дошло ?


    Не дошло. Ибо пытаемся пока еще клиентом запустить сервер.
  • Сергей М. © (19.02.08 15:10) [27]

    > BSS кроме как Local System Account стартовать больше никак
    > не хочет.


    А он вообще сырой, этот BSS.

    Это же демо-проект, а не боевой)
  • ага (19.02.08 17:51) [28]
    >>>CoCreateInstance, а не CoCreateInstanceEx
    А какая нафиг разница, если BSS и AppServer на одной машине? Да и на разных, ежель регистрация правильная. А она правильная, иначе бы BSS в любом случае сервер не находил.


    > wsv   (19.02.08 14:32) [25]
    > BSS кроме как Local System Account стартовать больше никак
    > не хочет.

    Ерунда. Как и любой сервис, этот может работать от любой учетки.
    Но!
    1. У этой учетки должно быть право входа в качестве службы.
    2. Это нафиг не надо, так как работа сервиса от систем вполне тя устроит.

    А ваще - все запущено:( Каша какая-то. То он у тя сервер приложений, то че-то там по расписанию делает... Ну у пусть бы это что-то делал тот сервис. вместо старта АппСервера. Иль я ваще в твоих художествах запутался.

    Давай сначала.

    У тя на серверной машине есть BSS, и есть твой AppServer. Где-то, на этой или другой машине, есть сервис, который по расписанию подключается к AppServer через тот-же SocketConnection. Так? Тогда ентот сервис из рассуждений выбрасываем, потому как для остальных компонентов он - самый обнаковенный клиент, и ничем от других клиентов не отличается.

    Про старт. Стартует твой AppServer BSS. Во всех случаях. Если при наличии интерактивного сеансу сервак работает, а без такового нет, то причина одна - твой AppServer настроен на запуск от имени интерактивного юзера. Или ты еще чет там скрываешь. А ты точно скрываешь. Например, эта строка

    > socketconnection.AppServer.work

    нифига никого не может запустить. А может только вызвать метод уже полученного до того интерфейса.

    Мож ты просто после смены настроек АппСервер не перезагрузил?
  • wsv (20.02.08 07:15) [29]
    Решение проблемы найдено.

    Как оказалось, проблема не в юзерах, не в настройках DCOM, не в настройках, принципе и сырости BSS.

    Вся проблема была в том, что на форме АПП сервера лежал компонент TRazeVerInfo из комплекта Raze.

    При Create формы он видимо чего-то недопонимал и касьянил. Удалил его в ...пу.
    Все ок.
    Будьте внимательны. :-)
  • wsv (20.02.08 10:41) [30]
    Забыл всем сказать СПАСИБО. Узнал коечто новое.
  • Смирнов (22.02.08 08:22) [31]

    > Удалил его в ...пу

    и как ты теперь с этим будешь жить?
  • Slym © (22.02.08 10:26) [32]
    Смирнов   (22.02.08 8:22) [31]
    теперь ..па будет вести историю билдов :)
 
Конференция "Corba" » Сервер автоматизации и LogOff админа
Есть новые Нет новых   [134431   +6][b:0][p:0.001]