• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Background Client Thread & Ui

  • Автор темы D!m@n
  • Дата начала
N

nvyush

как бы удачнее этот тренд повесить
В лёгкую. Почитав сию тему, попробовал агентику, экспортирующий данные из Лотус-базы в файл, поставить эту замечательную галку "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.
 

VladSh

начинающий
Lotus Team
11.12.2009
1 788
157
BIT
92
фоновый агент это агент отрабатывающийся на сервере
Из серии "белое — это пушистое". Серверный — это агент, исполняющийся на сервере. Фоновый — это агент, исполняющийся в фоновом, т.е. не основном потоке. Речь здесь об агенте, исполняющемся в фоновом клиентском потоке (background client thread), и о том, что вопреки утверждения IBM, некоторые уи-методы в нём доступны.
100%.

Если что, я писал про 7-ку :)
В 8.5.x это тоже работает.
Естественно диалоги выдавать, это чересчур.. а вот немедленная отработка какого-либо затратного действия, как например немедленная отработка запроса, о5 же, например, на выгрузку данных в реляционку или на обновление каких-либо данных, и чтобы не лочить процессом Клиента - самое то!
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
а как его из срипта запустить то?
если пишу Call Agent.Run - то никакого thread не получается, скрипт тупо ждёт его завершения...
 
O

Omh

Естественно диалоги выдавать, это чересчур
А я выдаю :facepalm: пиклисты в основном.
Там получается так: запускается фоновый агент, показывает человеку пиклистколлекшн, и начинается дооолгий процесс :)
Работает.

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!