Входные настройки из таблицы

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

MaxVM

Пользователь
Регистрация
20.01.2016
Сообщения
34
Реакции
2
Баллы
8
Здравствуйте!
Подскажите как реализовать.
Есть проект заполнение сайта, все работает. Одновременно в проект добавляю несколько файлов и запускаю (у меня их 5 по лицензии). Щелкаю два раза на файл и вставляю входные настройки (Ссылку на сайт+путь до файла с исходниками), это сильно не утраивает.
Хотелось бы сделать файлик из которого зенка будет подхватывать входные данные. Прекрастно понимаю что это легко через переменные реализовать. НО я не очень понимаю как сделать чтоб каждый из пяти файлов брал уникальное значение из строк файла (дабы повторов не случилось).
Желательно получить следующую схему.
1. Добавляю в ЗП пять файлов
2. Все файлы замкнуты на один файл с одним именем
3. Как только в файле появляется строчка с данными происходит старт проекта и строчка удаляется
4. Если файл пустой то старта не происходит


Возможно ли?
 
MaxVM, не совсем ясно то что вы написали, и я понял следующее:
Одновременно в проект добавляю несколько файлов и запускаю (у меня их 5 по лицензии).
Т.е. вы выполняете шаблон в 5 потоков т.к. у вас их 5 по лицензии.
как сделать чтоб каждый из пяти файлов брал уникальное значение из строк файла (дабы повторов не случилось).
Каждый поток должен брать уникальную строку с данными, из одного, общего для всех потоков, файла.
Верно?
 
MaxVM, не совсем ясно то что вы написали, и я понял следующее:

Т.е. вы выполняете шаблон в 5 потоков т.к. у вас их 5 по лицензии.

Каждый поток должен брать уникальную строку с данными, из одного, общего для всех потоков, файла.
Верно?

Да, все верно!
Понятно что можно заставить каждый файл отслеживать свою строку в документе, но как сделать чтоб старт происходил именно при появлении строки?
Или возможно решить иначе?
 
Если вам нужно чтобы шаблон именно "стартовал" при наличии данных в файле, то вам, думаю поможет "Общий код". Экшн "Директивы using и общий код" http://joxi.ru/KAgKMMJFgkEZGA На сколько я понимаю, тут можно реализовать инициализацию шаблона(C# кодом) при наличии данных(или вообще строк) в определенном файле. Это касательно PM.

Так же есть другой вариант(он проще), но старт шаблона будет происходить непосредственно при появлении файла в указанной директории(папке).
Это "Диспетчер задач" в ZP или ZB.
 
Проще завязать на сами файлы, а не на строки
 
Проще завязать на сами файлы, а не на строки
Да я полностью согласен касаемо файлов, но мне важно иметь схему старта попроеще.
Опишу еще раз.
Есть пять лицензий, есть пять файлов (проектов) добавленных в ZP. Хочу получать данные с одного файла (файл имеет вид, столбец 1 - url, столбец 2 - ссылка на csv файл на компе)
Предположим я кинул файл в котором не пять строк с данными а 10-15. Я хочу чтоб каждый из файлов проекта взял первую строку из файла в переменные и удалил ее, и начал выполнять экшены. То есть 5 файлов взяли первые 5 строк (вопрос раз: не получиться так что они "подерутся" из-за данных в файле). После того как один из файлов закончил он смотрит есть ли для него еще работа (в файле с исходными данными), если да то берет строку и удаляет.

Это все крутиться на серваке и он постоянно мониторит папку, скажем дропдокса например. Я могу добовлять и запускать работу не будучи привязаным к месту!

Вот такая идея.

Сорри я просто не знаю как описать чтоб было понятно.
 
"Сорри я просто не знаю как описать чтоб было понятно."
Да вроде уже ясно всё
Можно проще сделать. Что сильно плохо если каждый из потоков(файлов) стартует смотрит есть данные в файле или нет? Если есть идет дальше по своей логике, если нет то сразу заканчивает.
Выполнение в проге ставите "-1" а кол-во потоков: сколько вам нужно или сколько возможно.
 
"Сорри я просто не знаю как описать чтоб было понятно."
Да вроде уже ясно всё
Можно проще сделать. Что сильно плохо если каждый из потоков(файлов) стартует смотрит есть данные в файле или нет? Если есть идет дальше по своей логике, если нет то сразу заканчивает.
Выполнение в проге ставите "-1" а кол-во потоков: сколько вам нужно или сколько возможно.
Может не очень Вас понял, но при данной схеме мне буде нужно создавать файл с исходными данными вида - в одном файле одни данные. Но мне нужно закидывать их списком т.к. количество может быть большим.
 
1. В шаблоне(ах), указан путь к одному и тому же файлу(в данном случае к csv таблице) в начале логики шаблона получаете количество строк этой таблицы, дале делаете логику(экшн if) и проверяете есть ли строки в таблице или нет. Если есть, то дальше логика всего шаблона(ов), если нет то обрываете работу шаблона. http://joxi.ru/p278LLEs0pNnkA.
2. Можно еще добавить доп. проверку чтобы пустые строки отсечь(если бывают)
http://joxi.ru/52a1QQesGxk0B2

Или так вообще http://joxi.ru/l2ZvVVYh8Z7kj2
 
1. В шаблоне(ах), указан путь к одному и тому же файлу(в данном случае к csv таблице) в начале логики шаблона получаете количество строк этой таблицы, дале делаете логику(экшн if) и проверяете есть ли строки в таблице или нет. Если есть, то дальше логика всего шаблона(ов), если нет то обрываете работу шаблона. http://joxi.ru/p278LLEs0pNnkA.
2. Можно еще добавить доп. проверку чтобы пустые строки отсечь(если бывают)
http://joxi.ru/52a1QQesGxk0B2
Теперь понял! А что произойдет если все пять шаблонов одновременно попытаются получить данные, не сули чится ли путаница с данными? или этот вопрос решен в самой зенке, в плане очередей?
 
Тут вся проблема в том, что это шаблон будет для Zennobox, то есть у заказчика по идее будет работать в 20 потоков
Подскажите пожалуйста, как реализовать:
- Заказчик запустил шаблон
- Первый поток копирует таблицу
- Остальные берут данные из второй таблицы для работы
- Строки во второй таблице закончились(финиш)
Если бы просто zennoposter то понятно: один шаблон в 9.00 делает копию таблицы, а второй с 9.10 работает из скопированной таблицы. А как это всё уложить в один шаблон. В идеале один поток копирует таблицу, а потом когда таблица скопирована, подключаются все потоки
 
Тут вся проблема в том, что это шаблон будет для Zennobox, то есть у заказчика по идее будет работать в 20 потоков
Подскажите пожалуйста, как реализовать:
- Заказчик запустил шаблон
- Первый поток копирует таблицу
- Остальные берут данные из второй таблицы для работы
- Строки во второй таблице закончились(финиш)
Если бы просто zennoposter то понятно: один шаблон в 9.00 делает копию таблицы, а второй с 9.10 работает из скопированной таблицы. А как это всё уложить в один шаблон. В идеале один поток копирует таблицу, а потом когда таблица скопирована, подключаются все потоки
очень кратко опишу.
- работу с таблицей надо лочить.
- первый поток схвативший лок, проверяет таблицу на пустоту и начинает формировать таблицу. можно прямо в таблице предусмотреть поле завершения работы. или через общую метку, которая тоже должна лочится.
- если таблица не пустая, то поток должен ждать появление метки о завершении работы.
- есть метка, значит все дружно начинают грызть данные.
- завершение работы точно так же через лок и общую метку.
 
  • Оценить
Реакции: kolina

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)