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

Desiigner

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

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

Как и можно ли сделать так, чтобы он автоматически переключался между нужными папками?
 

eugeny

15 лет на форуме
Сообщения
855
Реакции
210
Зачем вам Select Job, если вы обращаетесь к папке? Выбирайте папку через

1665736638241.png
 

Desiigner

Участник
Топикстартер
Сообщения
27
Реакции
1
Зачем вам Select Job, если вы обращаетесь к папке? Выбирайте папку через

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

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

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

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

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

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

уже и joburl прописывал, он просто не видит этот Job и все.:(
 

eugeny

15 лет на форуме
Сообщения
855
Реакции
210
Т.е. проблема вы не можете выбрать job?
Проверьте что у вас выделяется на этапе выбора параметров joba.
Откройте выполненный воркфлоу и посмотрите, что у вас выбрано на этапе выбора параметров. По логике должен быть выбран нужный джоб.

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

Desiigner

Участник
Топикстартер
Сообщения
27
Реакции
1
Т.е. проблема вы не можете выбрать 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 КБ · Просм.: 129
  • 13.PNG
    13.PNG
    33.9 КБ · Просм.: 126

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
много букв.
скопируй в нужный job твой файл и когда он там, он (файл) сможет видеть то, что в джобе
 

Desiigner

Участник
Топикстартер
Сообщения
27
Реакции
1
много букв.
скопируй в нужный job твой файл и когда он там, он (файл) сможет видеть то, что в джобе
речь об автоматизации, а не ручками копировать.
А автоматически он копирует мой файл в папку джоба, только вот воркфлоу обращается не к этому джобу, а к первоначальному.
Решение есть, костылем промежуточный хотфолдер, и запуск воркфлоу с него, но это костыли на которые время уходит во время срабатывании цельного сценария.
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
речь об автоматизации, а не ручками копировать.
А автоматически он копирует мой файл в папку джоба, только вот воркфлоу обращается не к этому джобу, а к первоначальному.
Решение есть, костылем промежуточный хотфолдер, и запуск воркфлоу с него, но это костыли на которые время уходит во время срабатывании цельного сценария.
я и не предлагал копировать руками.

Хотфолдеры это не костыль, а нормальный рабочий процесс, и нисколько не медленнее.
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
@Desiigner я понял в чем твой вопрос;
если кратко, то как внутри одного WF переместить файл из одного JOB в другой, получив доступ к контексту нового JOB.
я не думаю что это вообще возможно.
только запускать новый WF.
Если. не прав, буду раз узнать способ.
 

eugeny

15 лет на форуме
Сообщения
855
Реакции
210
@Desiigner я понял в чем твой вопрос;
если кратко, то как внутри одного WF переместить файл из одного JOB в другой, получив доступ к контексту нового JOB.
я не думаю что это вообще возможно.
только запускать новый WF.
Если. не прав, буду раз узнать способ.
Я пробовал в свое время подобное, если это так, то полностью согласен из одного JOB в другой — никак. Поэтому отказался от джобов и привязался к папкам заказов.
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
а вот и зря, Job структура дает массу преимуществ.
 

eugeny

15 лет на форуме
Сообщения
855
Реакции
210
а вот и зря, Job структура дает массу преимуществ.
Возможно. Но так как у меня выгружается техкарта из 1С в xml, то решил не заморачиваться и не создавать на основе ее job — лишние движения. Папка заказа обрабатывается 2-3 воркфлоу. При запуске каждого в папке заказа создаются определенные данные в xml. Каждые последующий ворфлоу использует эти данные. Поэтому все прозрачно и видно, что происходило и куда и когда отправлены итоговые файлы.
 

Desiigner

Участник
Топикстартер
Сообщения
27
Реакции
1
@Desiigner я понял в чем твой вопрос;
если кратко, то как внутри одного WF переместить файл из одного JOB в другой, получив доступ к контексту нового JOB.
я не думаю что это вообще возможно.
только запускать новый WF.
Если. не прав, буду раз узнать способ.
Ковыряю, если получится - отпишусь :)
 

almastu

15 лет на форуме
Сообщения
535
Реакции
90
Мне пока известен только один способ: после создания/изменения джоба через CreateJob с последнейй вкладки его настроек запускать новый воркфлоу - вот он как раз будет в контексте нового джоба.
Других способов не нашел (
Ну может, еще к AE Job DB как-то обращаться, но туда не ковырял
 
  • Спасибо
Реакции: Desiigner и ACTPOHOM

Desiigner

Участник
Топикстартер
Сообщения
27
Реакции
1
Мне пока известен только один способ: после создания/изменения джоба через CreateJob с последнейй вкладки его настроек запускать новый воркфлоу - вот он как раз будет в контексте нового джоба.
Других способов не нашел (
Ну может, еще к AE Job DB как-то обращаться, но туда не ковырял
Опередили на час, нашел эту вкладку.
 

Desiigner

Участник
Топикстартер
Сообщения
27
Реакции
1
Мне пока известен только один способ: после создания/изменения джоба через CreateJob с последнейй вкладки его настроек запускать новый воркфлоу - вот он как раз будет в контексте нового джоба.
Других способов не нашел (
Ну может, еще к AE Job DB как-то обращаться, но туда не ковырял
Опередили:)
Но в WF который запускается после надо после старта поставить Wait for files, иначе опережает и не видит файл, так как лично у меня после create job идет еще copy/move.
Но почему то не запускает.
Ковыряю дальше.

UPD Все работает
 
Последнее редактирование:
  • Спасибо
Реакции: ACTPOHOM

almastu

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

P.S.: типа сначала построили что-то, заселились, а потом объявили это городским строением, жилым многоквартирным домом и прописались
 
Последнее редактирование:

Desiigner

Участник
Топикстартер
Сообщения
27
Реакции
1
ну job и файловая система не одно и то же. Можно сначала полностью создать структуру папок, все туда позакидывать, и только в конце запускать создание джоба под нее - с последующим запуском wf-наследника

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

PS Всем спасибо.
 

Spirit412

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

almastu

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