|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|||||||||||
Agent и параметры его07.04.2015, 18:08. Показов 5401. Ответов 12
Метки нет (Все метки)
эти все пляски-с-бубнами порядком поднадоели, но звук высоких технологий доходит очень медленно (в вязкой среде) , я про DOTS
а потому - агент передать документ - не проблема, а вот коллекцию - уже вызывает задумчивость... c DCOM у Андрея не срослось (да и виндядко - не сильно веселая тема) дергать IIOP сильно замороченная тема, да и ЛС там никак возникла мысль, тривиальная, передавать список unid оформил в классы докрутил zip/unzip если будет интересно - выложу, в данный момент могу только кусками, в отдельную БД оформить не было времени .SpoilerTarget">Спойлер: для затравки
.SpoilerTarget">Спойлер: отправка в агент
0
|
|||||||||||
| 07.04.2015, 18:08 | |
|
Ответы с готовыми решениями:
12
Записать макрос на VBScript для его запуска через Agent MS SQL Server
|
|
0 / 0 / 0
Регистрация: 15.09.2006
Сообщений: 99
|
|
| 08.04.2015, 04:29 | |
|
можно несколько мыслей вслух?
1. про путь: всегда можно использовать temp, как получить в винде и линухах где-то было на форумах 2. на сколько я помню, параметр для агента это некая строка из 8 симолов и не обязательно, что бы она была реально как-то связана с каким-то реальным Noteid. (возможно только цифры hex, точно уже не помню давно это было) Таким образом можно упростить т.е. set NDCfile = New NDCfile(NotesDocCollection) где в New будет сформирован временный файл в temp директории с именем подходящим для передачи в агент и сразу зазипован. Call agent.Run(NDCfile.FileName) где DCfile.FileName имя зазипованного файла без .zip в формате подходящем для agent.Run в Destroy класса NDCfile - удаление файла. и всё ни каких лишних движений, документов, строк кода - всё спрятано. Есть еще момент, когда надо вызвать агент на сервере, то тогда только через временный файл, но надо будет этот файл приаттачить к временному документу и передать Noteid временного док-та. Кстати тоже логику можно спрятать, например, если берем свойство NDCfile.Noteid, то автоматом формируем временный док-т и отдаем его noteid, а при удалении класса удаляем не только файл, но и временный док. Тут кстати вопрос, а ГДЕ вы временные док-ты будите создавать? Поскольку если это продакшин и пользователи, например, не могут удалять док-ты в базе, получим проблему с мусорными док-тами. Решение, база для временных операций, но тут уже логика системы в целом должна играть. Так что универсально для ВСЕХ случаев тут не подойдет.
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
|
| 08.04.2015, 08:17 | |
|
Хм...
Я обычно документ создавал в базе со списком UNID, которые надо обработать. Далее агент просто ищет этот док, если есть - обрабатывает. Можно использовать, если есть база Mail-In, в которой крутится агент на приход почты. - этакая очередь запросов на обработку. Агент анализирует и уже запускает внешний... Который работает с этим запросом, в котором файл... Хм, в такой связке, это интересно... Надо подумать...
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||||
| 08.04.2015, 11:25 | ||||
все действяи над файлами скрыты, более того - есть возможность автоматически удалять (она вшита в класс) оставлена возможность указать путь принудительно и не удалять автоматически опять же - сжатие необязательная процедура, потому и путь оставлен как параметр др. ловами - создан базовый класс, с более широкой кастомизацией, под дальнейшую специализацию там и развертывание архива основано на классе, кот. выдает рекурсивный список файлов по всем вложенным каталогам (на java, визитор)
В качестве доработки - возможна подобная передача уже DXL коллекций (что более нагрузочно, но не менее забавно ;) )
0
|
||||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|||||||||||
| 08.04.2015, 11:33 | |||||||||||
|
собсно
.SpoilerTarget">Спойлер: вот класс
удаление можно оформить в виде TempFolderManager.Manage(path+{.zip}), в Compress, нюанс состоит в необходимом времени жизни зипа (его можно и не аттачить и использовать позже...) --- Добавлено 9 апр 2015. Первое сообщение размещено 9 апр 2015 --- над EOL_PLATFORM тоже надо думать ;) ибо клиент, в большинстве, винда, а вот серваки, у мну - линух ЗЫЖ коллеги, спасибо за комментарии и интерес к теме
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
||
| 08.04.2015, 12:17 | ||
Еще чуть-чуть и можно сделать нормальный журнал транзакций.
0
|
||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||||||
| 08.04.2015, 17:35 | ||||||
|
столкнулся с интересной особенностью бриджа LS2J...
код Код (Java): public class ZipUtil { private String[/URL] enc = "Windows-1251"; ArrayList[/URL] arrFiles = new ArrayList[/URL](); boolean bFullPath = false; public static final String[/URL] sep = System[/URL].getProperty("file.separator"); .... public static String[/URL] fs_sep(){return sep;} выше - класс, кот. дергает в конструкторе
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 08.04.2015, 17:40 | |
|
также не будет работать:
sep=ZipClass.fs_sep() а вот из агента будет и с приватным private static final String sep = System.getProperty("file.separator"); и sep=ZipClass.fs_sep()
0
|
|
|
0 / 0 / 0
Регистрация: 09.12.2012
Сообщений: 101
|
|
| 09.04.2015, 05:15 | |
|
Я предпочел бы, в качестве передачи параметров (serverName, databasePath, unid или NotesUrl), использовать транзитную вспомогательную базу. Группировать параметры путем создания документа-контейнера (через DigestSearch), а сами параметры к нему респонзить. По окончании все это подчищать. Во избежании проблем с индексами вьюх, просто не создаем их вообще, пусть останется единственная с формулой отбора Select Form="Babuin"))
Без бубна с зипами и бриджами, без обид
0
|
|
|
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
|
||
| 09.04.2015, 08:04 | ||
Даже если есть LS2J либа, то все равно в агенте лучше работает. Где-то видел инфу, что это связано с класслоудером, мол в технологии агентов он один, а в форме другой.
0
|
||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||
| 09.04.2015, 09:48 | ||
бридж только исходя из работы в ЛС и только для экономии трафика - зип(и сокращения времени передачи) кэйс первый - вот есть несколько коллекций, эдак документов 100000, кот. надо обработать отбор произведен на рабочей станции, база - на сервере, есть желание запустить код на сервере второй кэйс - некий код наработал коллекцию и есть желание обработать её в рамках другого процесса и, возможно, отложенно третий кейс (почти первый) - выделили, интерактивно, доки обработать хотим на сервере (по разным на то причинам) где создается док с аттачем - это зависит от задачи, концепт данного подхода в разделении кода и нагрузки
0
|
||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 09.04.2015, 11:41 | |
|
как будет это представлено:
будет отдельная БД, для спец доков будет только файл глубоко безразлично на общем уровне НО файл, в контексте универсальности обработки, на мой взгляд - гибче, а сжатие текстовой информации - это вполне себе достойная задача
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||
| 09.04.2015, 12:15 | ||
собсно еще один гвоздь в гроб кода на формах
0
|
||
| 09.04.2015, 12:15 | |
|
Помогаю со студенческими работами здесь
13
TextBox и его параметры
Конструктор StreamReader: за что отвечают его параметры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|