Переключение между горячими папками внутри Workflow

Desiigner

Участник
Топикстартер
Сообщения
27
Реакции
1
Всем привет!

Вопрос заключается в следующем: мы имеем hotfolder в которую падает файл xml, на основе этого запускается WF, который создает на основе этого xml - Job. В этот Job в папку попадает рабочий файл и дальше WF обращается не к созданному Job (для дальнейшей работы с файлом), а к той папке в которую упал xml, через (select Job) не видит нужной папки.

Как и можно ли сделать так, чтобы он автоматически переключался между нужными папками?
 
Зачем вам Select Job, если вы обращаетесь к папке? Выбирайте папку через

1665736638241.png
 
Зачем вам Select Job, если вы обращаетесь к папке? Выбирайте папку через

Посмотреть вложение 154321
Давайте более подробно объясню задумку, чтобы вы понимали о чем речь.

Работаю с упаковкой картонной, инструкциями и этикетками.

Сейчас согласование макета с заказчиком полностью в ручном режиме, завели в базу 1С все данные по макету, потом причесали сам дизайн, положили на лист согласования - отправили.

В ае уже написан сценарий раскладки по постобработкам и прописанию всех данных на листе согласования.

Решили пойти дальше, просто причесываем макет, закидываем через Shuttle в ае, а он уже автоматически исходя из данных кто заказчик и какие размеры упаковки например, прописанных в аи - отправляет запрос в 1с, которая автоматом генерит всю инфу по макету, выдает xml на основе которой создается Job.

И мне нужно чтобы он обращался к Job параметрам (номер макета, заказчик, итд), чтобы дальше ушло все в воркфлоу подготовки листа согласования, а он обращается к папке в которую упал xml.

уже и joburl прописывал, он просто не видит этот Job и все.:(
 
Т.е. проблема вы не можете выбрать job?
Проверьте что у вас выделяется на этапе выбора параметров joba.
Откройте выполненный воркфлоу и посмотрите, что у вас выбрано на этапе выбора параметров. По логике должен быть выбран нужный джоб.

Но на самом деле я в джобах не силен. У нас все как у вас по аналогии с 1С, только мы работаем с папкой (номер заказа), где в xml параметры. Также на различных этапах эти параметры редактируются и дополняются.
1665737407025.png
 
Т.е. проблема вы не можете выбрать job?
Проверьте что у вас выделяется на этапе выбора параметров joba.
Откройте выполненный воркфлоу и посмотрите, что у вас выбрано на этапе выбора параметров. По логике должен быть выбран нужный джоб.

Но на самом деле я в джобах не силен. У нас все как у вас по аналогии с 1С, только мы работаем с папкой (номер заказа), где в xml параметры. Также на различных этапах эти параметры редактируются и дополняются.
Посмотреть вложение 154322
Проблема в том, что не могу обратится внутри сценария к job созданному на основе xml, потому что для него существует его собственный job.

Выбираю, но он не видит и через select job и через job url.

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

И сценарий 13.пнг должен отрабатывать все в папке созданного джоба 12.пнг, но он отрабатывает это с данными из папки hotfolder в которую падает xml из 1С.

*танцую с бубном*
'dans))'
 

Вложения

  • 12.PNG
    12.PNG
    22.2 КБ · Просм.: 165
  • 13.PNG
    13.PNG
    33.9 КБ · Просм.: 162
много букв.
скопируй в нужный job твой файл и когда он там, он (файл) сможет видеть то, что в джобе
 
много букв.
скопируй в нужный job твой файл и когда он там, он (файл) сможет видеть то, что в джобе
речь об автоматизации, а не ручками копировать.
А автоматически он копирует мой файл в папку джоба, только вот воркфлоу обращается не к этому джобу, а к первоначальному.
Решение есть, костылем промежуточный хотфолдер, и запуск воркфлоу с него, но это костыли на которые время уходит во время срабатывании цельного сценария.
 
речь об автоматизации, а не ручками копировать.
А автоматически он копирует мой файл в папку джоба, только вот воркфлоу обращается не к этому джобу, а к первоначальному.
Решение есть, костылем промежуточный хотфолдер, и запуск воркфлоу с него, но это костыли на которые время уходит во время срабатывании цельного сценария.
я и не предлагал копировать руками.

Хотфолдеры это не костыль, а нормальный рабочий процесс, и нисколько не медленнее.
 
@Desiigner я понял в чем твой вопрос;
если кратко, то как внутри одного WF переместить файл из одного JOB в другой, получив доступ к контексту нового JOB.
я не думаю что это вообще возможно.
только запускать новый WF.
Если. не прав, буду раз узнать способ.
 
@Desiigner я понял в чем твой вопрос;
если кратко, то как внутри одного WF переместить файл из одного JOB в другой, получив доступ к контексту нового JOB.
я не думаю что это вообще возможно.
только запускать новый WF.
Если. не прав, буду раз узнать способ.
Я пробовал в свое время подобное, если это так, то полностью согласен из одного JOB в другой — никак. Поэтому отказался от джобов и привязался к папкам заказов.
 
а вот и зря, Job структура дает массу преимуществ.
 
а вот и зря, Job структура дает массу преимуществ.
Возможно. Но так как у меня выгружается техкарта из 1С в xml, то решил не заморачиваться и не создавать на основе ее job — лишние движения. Папка заказа обрабатывается 2-3 воркфлоу. При запуске каждого в папке заказа создаются определенные данные в xml. Каждые последующий ворфлоу использует эти данные. Поэтому все прозрачно и видно, что происходило и куда и когда отправлены итоговые файлы.
 
@Desiigner я понял в чем твой вопрос;
если кратко, то как внутри одного WF переместить файл из одного JOB в другой, получив доступ к контексту нового JOB.
я не думаю что это вообще возможно.
только запускать новый WF.
Если. не прав, буду раз узнать способ.
Ковыряю, если получится - отпишусь :)
 
Мне пока известен только один способ: после создания/изменения джоба через CreateJob с последнейй вкладки его настроек запускать новый воркфлоу - вот он как раз будет в контексте нового джоба.
Других способов не нашел (
Ну может, еще к AE Job DB как-то обращаться, но туда не ковырял
 
  • Спасибо
Реакции: Desiigner и ACTPOHOM
Мне пока известен только один способ: после создания/изменения джоба через CreateJob с последнейй вкладки его настроек запускать новый воркфлоу - вот он как раз будет в контексте нового джоба.
Других способов не нашел (
Ну может, еще к AE Job DB как-то обращаться, но туда не ковырял
Опередили на час, нашел эту вкладку.
 
Мне пока известен только один способ: после создания/изменения джоба через CreateJob с последнейй вкладки его настроек запускать новый воркфлоу - вот он как раз будет в контексте нового джоба.
Других способов не нашел (
Ну может, еще к AE Job DB как-то обращаться, но туда не ковырял
Опередили:)
Но в WF который запускается после надо после старта поставить Wait for files, иначе опережает и не видит файл, так как лично у меня после create job идет еще copy/move.
Но почему то не запускает.
Ковыряю дальше.

UPD Все работает
 
Последнее редактирование:
  • Спасибо
Реакции: ACTPOHOM
Опередили:)
Но в WF который запускается после надо после старта поставить Wait for files, иначе опережает и не видит файл, так как лично у меня после create job идет еще copy/move.
Но почему то не запускает.
Ковыряю дальше
ну job и файловая система не одно и то же. Можно сначала полностью создать структуру папок, все туда позакидывать, и только в конце запускать создание джоба под нее - с последующим запуском wf-наследника

P.S.: типа сначала построили что-то, заселились, а потом объявили это городским строением, жилым многоквартирным домом и прописались
 
Последнее редактирование:
ну job и файловая система не одно и то же. Можно сначала полностью создать структуру папок, все туда позакидывать, и только в конце запускать создание джоба под нее - с последующим запуском wf-наследника

P.S.: типа сначала построили что-то, заселились, а потом объявили это городским строением, жилым многоквартирным домом и прописались
Запускаю через shuttle в ai >
воркфлоу связанный с 1с, автоматически заводит все необходимые данные в 1с + создание джоба по номеру макета из 1с > срабатывает лаунч из create job>
создание листа согласования, если не поставить wait for files - уходит в ошибку, так как файл не успевает добавиться в этот джоб.
Все работает, просто под наши нужды нужен Wait for files, кому то не понадобится это, так как по другому выстроена система.

PS Всем спасибо.
 
Интересно, нельзя ли реализовать таск-менеджер в WF с периодическим чтением БД?
Т.е. WF, раз в минуту опрашивает таблицу в БД где список задач со статусом. Если статус "в работу", эта задача падает в WF и выполняется.
Без шатлов и прочего. Просто в 1С появилась новая запись, через минуту WF AE её подхватило.
П.С. В пайтоне на celery+redis такое на бекенде реализовывал.
 
Интересно, нельзя ли реализовать таск-менеджер в WF с периодическим чтением БД?
Т.е. WF, раз в минуту опрашивает таблицу в БД где список задач со статусом. Если статус "в работу", эта задача падает в WF и выполняется.
Без шатлов и прочего. Просто в 1С появилась новая запись, через минуту WF AE её подхватило.
П.С. В пайтоне на celery+redis такое на бекенде реализовывал
цикл с минимальной задержкой (1мин), запросом последней записи, проверкой на ее новизну и прочие условия и выход либо на обработку либо на следующий круг? - почему бы и нет. В WF-параметрах хранить последние данные для сравнения, и все