• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Background Client Thread & Ui

  • Автор темы Автор темы D!m@n
  • Дата начала Дата начала
как бы удачнее этот тренд повесить
В лёгкую. Почитав сию тему, попробовал агентику, экспортирующий данные из Лотус-базы в файл, поставить эту замечательную галку "Run in background client thread". В начале агента пользователю открывается ws.SaveFileDialog для указания файла экспорта. Так вот, диалог открылся, но вот ввести имя файла и нажать ОК не получилось — максимум можно было таскать окно диалога по экрану. Пришлось тушить клиента (8.0.1 en на WinXP). Другие диалоги пока не пробовал.
Поэкспериментировал с другими диалогами. Inputbox, Messagebox работают без проблем, с диалогами NotesUIWorkspace (SaveFileDialog, OpenFileDialog, Prompt, PickListStrings, PickListCollection) сначала получал зависание, потом оно вдруг исчезло. Опытным путём установил, что при открытом окне свойств фокус клавиатуры "теряется" где-то в рабочей области и диалоги не работают должным образом. Alt+Enter в данной ситуации позволяют закрыть окно свойств и диалоги начинают работать нормально. DialogBox не пробовал. Тестил на 8.0.1en на WinXP.
 
фоновый агент это агент отрабатывающийся на сервере
Из серии "белое — это пушистое". Серверный — это агент, исполняющийся на сервере. Фоновый — это агент, исполняющийся в фоновом, т.е. не основном потоке. Речь здесь об агенте, исполняющемся в фоновом клиентском потоке (background client thread), и о том, что вопреки утверждения IBM, некоторые уи-методы в нём доступны.
100%.

Если что, я писал про 7-ку :)
В 8.5.x это тоже работает.
Естественно диалоги выдавать, это чересчур.. а вот немедленная отработка какого-либо затратного действия, как например немедленная отработка запроса, о5 же, например, на выгрузку данных в реляционку или на обновление каких-либо данных, и чтобы не лочить процессом Клиента - самое то!
 
а как его из срипта запустить то?
если пишу Call Agent.Run - то никакого thread не получается, скрипт тупо ждёт его завершения...
 
Естественно диалоги выдавать, это чересчур
А я выдаю :facepalm: пиклисты в основном.
Там получается так: запускается фоновый агент, показывает человеку пиклистколлекшн, и начинается дооолгий процесс :)
Работает.

Можно конечно разделить, одним - модальным агентом получать всё UI-шное от пользователя, делать небольшой документик-задачу, и потом пускать фонового.
Что-то вроде:
@Command([RunAgent]; "ModalUIOperations");
@Command([RunAgent]; "LooooongWayHome");

а как его из срипта запустить то?
Так и низзя из скрипта: или собаками, или воркараунды, типа открыть форму скриптом у которой на QC стоит собачиый запуск фонового агента.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab