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

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

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

Background

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
G

Guest

Привет!!!

Кто знает как можно запустить агент в background режме?
 
Привет!!! :)
Поставить галку в пропертях агента "Run in background client thread" (на первой закладке)
И шмальнуть на собаках или из меню "Actions"
Всё это начиная с 6-ки.
 
Что то сразу не заметил это свойство :)

Спсасибо огромное!!!
 
А если на собаках не подходит? Если надо только по NotesAgent.Run(agentName$)?

Ну или...
Можно ли сделать кнопку, на ней посадить собачный вызов агента, а потом программно из LS инициировать нажание кнопки?
 
Из LS:
1. создаёте форму, у которой в PO Call source.Close, а на QC @Command([ToolsRunMacro];<поле с именем агента>)
2. если не надо чтоб агент отображался в меню, программно заключите имя агента в скобки (поле $Title)
3. для запуска агента создайте вспомогательный документ, поместите в него имя агента и имя формы из п.1
4. ws.EditDocument этому документу

Вспомогательная форма откроется и закроется, а агент продолжит работу.

Развитие идеи: Иметь одного агента запускающего любой код в фоне.
Для чего передать агенту имя библиотеки, класса и метода для запуска.
Агентом Execute нужной библиотеки и метода.
 
TIA
Спасибо за идеи; здорово! :)
 
Вообще, бекграуд агенты классная штука.
Меня очень радуют.

Можно сделать жалкое(?) подобие AJAX - подгружать данные на лету...
 
Ну например в форме на PO шмаляем бекграунд агента на собаках.
В самом начале агента ловим текущий док:
Код:
Dim ws As New NotesUIWorkspace
Dim uiDoc As NotesUiDocument
Dim Doc As NotesDocument
Set uiDoc = ws.CurrentDocument
Set Doc = uiDoc.Document

Дальше агент собирает тяжёлую информацию, допустим по базам ближлежащим и постепенно постит её в документа.
Получается кагбэ асинхронная подгрузка информации :)
 
Это уже есть и работает или идея?

Разве в бэкграунде будут работать UI-методы?
Каким образом будет производиться обновление текущего дока "по мере поступления информации"?
 
В хелпе написано, шо не должно.
Че-то мне кажется, что нас пытаются обмануть... О-оо-мх, а ну выхади :)
ну, вообще-то можно если осторожно...
(только для Win).

НО! если из backend'а лезть в UI, то можно легко уронить клиент, например когда пользователь откроет какой-либо диалог...
{теоризируя :) } лучше что бы UI сам брал информацию, возможно по мере сбора инфы backend агентом, котротый ее куда сохраняет. например можно использовать очереди...
 
Ща, чуть подразгребу работу и в течении часа выложу прототипчик базы, где это работает.
 
link removed
Вот прототипчик.
Что делает: на открытие документа запускается агент, который заполняет этот самый документ.
Можно открыть сразу несколько доков, будут заполнятся несколько параллельно.

ПсевдоАджакс в массы :newconfus:

Жду отзывов!!!

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

Жду отзывов!!!

То есть промышленно вы этот метод еще не применяете? Мне лично боязно так вольно обращаться с UI объектами в силу их некоторой неустойчивости.
 
Omh
Толково! Теперь только придумать, где это можно использовать...)
 
Мы применяем фоновые агенты при сохранении документа, так как в QC многое что происходит, а юзер жалуется, что долго сохраняется
 
И ещё, там UI объекты не задействованы:
В самом начала агента ловится NotesDocument от ws.CurrentDocument и вся инфа постится в него.
Т.е. никаких UiDoc.SetЧто-тоТам, всё через бекграунд объекты, поэтому можно лазить по другим документам/базам, а наш инициированый документ будет заполнятся сам по себе :newconfus:
 
Мы в соцсетях:

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