astranavt
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору У одного из наших коллег возник вопрос: Есть flow, подается входящий файл, с ним совершаются внутри флоу некие манипуляции, если они завершаются успешно, надо в одну папку отправить модифицированный файл, а в другую - оригинальный. Как это сделать? Тут есть нюанс: если мы в Switch из одной папки сделаем 2 исходящих соединения, то Switch отправит файлы по обоим направлениям, но при этом у каждого из них будет свой уникальный JobID. То есть направить оригинал по своему пути, поставить с помощью Hold job в ожидание и мониторить с помощью script expression промежуточную папку, в которой должен будет пройти модифицируемый файл, не получится - чтобы это работало, надо знать unique job prefix модифицируемой работы. Есть как минимум 2 варианта (можно и больше придумать, наверняка), как это сделать: 1) С помощью Hold job + script expression мониторить не промежуточную, а конечную папку flow, потому что когда файл кладется в конечную папку, Switch убирает unique job prefix, оставляя оригинальное имя файла. 2) Можно использовать модуль Inject job. Само flow на картинке, пример по ссылке. Логика такая - оригинальный файл отправляется по 2 путям, по первому он попадает в папку-репозиторий (конечную на этом пути, потому unique job prefix убирается), по второму - отправляется на модификации. Как только модификации заканчиваются, файл проходит через модуль Inject job и отправляется по flow дальше. Но само прохождение данного модуля служит триггером: Inject job считывает оригинальное имя проходящего файла, ищет его в папке-репозитории и отправляет по второму исходящему пути. | Всего записей: 161 | Зарегистр. 11-10-2006 | Отправлено: 21:22 19-08-2023 | Исправлено: astranavt, 21:27 19-08-2023 |
|