запуск проекта bat файлом

alex_alex

Client
Регистрация
17.03.2015
Сообщения
22
Благодарностей
0
Баллы
1
запуск проекта bat файлом не работает в демо-версиях. Так должно быть?
лицензия у меня на серваке стоит, а проекты создаю на демо-версии на компе.
так вот на демо бат файл не работает, на сервере работает
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113
запуск проекта bat файлом не работает в демо-версиях. Так должно быть?
лицензия у меня на серваке стоит, а проекты создаю на демо-версии на компе.
так вот на демо бат файл не работает, на сервере работает
а какой смысл создавать проекты в демке, когда можно использовать лиц. ПМ на локальном компьютере.. или лицензия - лайт?
 

alex_alex

Client
Регистрация
17.03.2015
Сообщения
22
Благодарностей
0
Баллы
1
а какой смысл создавать проекты в демке, когда можно использовать лиц. ПМ на локальном компьютере..
тогда надо покупать лицензию и для локального компа,
одну лицензию для сервера и локального компа не получается использовать ;-)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113

alex_alex

Client
Регистрация
17.03.2015
Сообщения
22
Благодарностей
0
Баллы
1

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113

alex_alex

Client
Регистрация
17.03.2015
Сообщения
22
Благодарностей
0
Баллы
1

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113

alex_alex

Client
Регистрация
17.03.2015
Сообщения
22
Благодарностей
0
Баллы
1
написал
 

OlegR

Client
Регистрация
11.06.2015
Сообщения
238
Благодарностей
250
Баллы
63
тоже батник не запускает задание, командная строка отработала, но без результата
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 223
Баллы
113
тоже батник не запускает задание, командная строка отработала, но без результата
Потрудитесь указать версию, билд, прочие условия.
К задаче по имени или по ID обращаетесь?
Телепаты в отпуске.
 

OlegR

Client
Регистрация
11.06.2015
Сообщения
238
Благодарностей
250
Баллы
63
ZennoPoster Standard\5.12.2.0\ по имени
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 223
Баллы
113

OlegR

Client
Регистрация
11.06.2015
Сообщения
238
Благодарностей
250
Баллы
63
@echo off
echo Starting task... (-names "Youtube_playlist_download")
"C:\Program Files (x86)\ZennoLab\RU\ZennoPoster Standard\5.12.2.0\Progs\TasksRunner.exe" -o StartTask -names "download"
timeout /t 1
 
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
Салют.
Пробую из шаблона запускать другой шаблон bat-файлом.
И порой команда в окне консоли не проходит.

01.png
02.png
03.png
И после этого ошибка основного шаблона.

Пробовал полный путь прописать к TasksRunner.exe

C#:
@echo off
echo ZennoPoster directory = %ZennoPosterCurrentPath%
echo Starting task... (-ids 17fa820f-79f4-41d7-a5fa-f2bdec50fce0)
"e:\dorway\Progs\Zenno\ZennoLab\RU\ZennoPoster Pro\5.22.1.0\Progs\TasksRunner.exe" -o StartTask -ids 17fa820f-79f4-41d7-a5fa-f2bdec50fce0
timeout /t 1
echo Set tries count to 124... (-ids 17fa820f-79f4-41d7-a5fa-f2bdec50fce0)
"e:\dorway\Progs\Zenno\ZennoLab\RU\ZennoPoster Pro\5.22.1.0\Progs\TasksRunner.exe" -o SetTries 124 -ids 17fa820f-79f4-41d7-a5fa-f2bdec50fce0
timeout /t 1
echo Set threads count to 30... (-ids 17fa820f-79f4-41d7-a5fa-f2bdec50fce0)
"e:\dorway\Progs\Zenno\ZennoLab\RU\ZennoPoster Pro\5.22.1.0\Progs\TasksRunner.exe" -o SetThreads 30 -ids 17fa820f-79f4-41d7-a5fa-f2bdec50fce0
Пробовал запускать по названию шаблона.


В основном шаблоне редактируется данный bat-файл. Устанавливается количество выполнений и обратно сохраняется.

Куда копать?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
почему бы не запускать шаблоны прямо из программы ? это же не сторонний софт.
Да изначально так и было. Запускал в один поток. Но блин как же долго выполняется.
Запускается то парсер Орка.
Переделал на многопоток + MySql. Все стало быстро. Но стал вылазить косяк с запуском.
Есть какое-либо решение для запуска в многопотоке из шаблона без bat-файла?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
чем отличается добавление попыток в многопотоке и в сингле ? даже не могу представить какие проблемы могут возникнуть
 
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
чем отличается добавление попыток в многопотоке и в сингле ? даже не могу представить какие проблемы могут возникнуть
Как задать количество потоков и попыток в кубике "проект в проекте"? Парсер запускается из однопоточного шаблона.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
Как задать количество потоков и попыток в кубике "проект в проекте"? Парсер запускается из однопоточного шаблона.
а я откуда знаю ? у меня куча подпроектов , но нигде не надо вызывать bat файл. так же есть один шабон который работает в один поток, выполняется раз в минуту и запускает 100 разных проектов. и тоже без всяких bat файлов.
вот можно как то поподробнее описать схему взаимодействия ваших шаблонов ? а то ну совсем не понятно причем проект в проекте и bat файлы
 
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
Из основного проекта запускается парсер контента в монгопотоке, т.к. в один поток он будет полчаса контент собирать.
Как из однопоточного проекта запустить многопоточный подпроект? Вроде только bat файлом из основного проекта.
Генерация bat-файла
запуск бат.png
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
вот код запуска любого шаблона по имени. в name_result надо запихать свое имя перед выполнением, в NumberOfTries_RUN сколько добавить попыток.
ну там под свои нужды подкорректируете где надо.
C#:
string name_fist = "Walk_Profile_shablon_" ;
string name_result = name_fist+ project.Variables["Count_Str_Shablone"].Value  ;
int NumberOfTries_RUN = 1;                                                                                             // сколько попыток запустить
//проверка аккаунта в системе , если попыток запуска 0 то аккаунт не работает   
var list1=ZennoPoster.TasksList; // получаем список всех задач в системе
int NumberOfTries=1;
var tasksList = new List<string>(ZennoPoster.TasksList);
for (int i=0; i<tasksList.Count; i++) {                                                                                // перебор всех шаблонов в системе
    string Name_Sablon=         Regex.Match(tasksList[i], @"(?<=<Name>).*(?=</Name>)").Value;                        // имя шаблона
     string NumberOfTries_str =     Regex.Match(tasksList[i], @"(?<=ll><NumberOfTries>).*?(?=</NumberOfTries>)").Value;    // колличество попыток шаблона
       if (Name_Sablon.CompareTo(name_result)==0) {                                                                    // поиск нужного шаблона
        try { NumberOfTries=  int.Parse( NumberOfTries_str); }  catch{}
        break;
      }
}
if (NumberOfTries<1) ZennoPoster.AddTries(name_result,1);                                                            // проверка колличества попыток и запуск шаблона
else throw new Exception();                                                                                            // выход по красной если не надо запускать
 
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
вот код запуска любого шаблона по имени. в name_result надо запихать свое имя перед выполнением, в NumberOfTries_RUN сколько добавить попыток.
ну там под свои нужды подкорректируете где надо.
C#:
string name_fist = "Walk_Profile_shablon_" ;
string name_result = name_fist+ project.Variables["Count_Str_Shablone"].Value  ;
int NumberOfTries_RUN = 1;                                                                                             // сколько попыток запустить
//проверка аккаунта в системе , если попыток запуска 0 то аккаунт не работает  
var list1=ZennoPoster.TasksList; // получаем список всех задач в системе
int NumberOfTries=1;
var tasksList = new List<string>(ZennoPoster.TasksList);
for (int i=0; i<tasksList.Count; i++) {                                                                                // перебор всех шаблонов в системе
    string Name_Sablon=         Regex.Match(tasksList[i], @"(?<=<Name>).*(?=</Name>)").Value;                        // имя шаблона
     string NumberOfTries_str =     Regex.Match(tasksList[i], @"(?<=ll><NumberOfTries>).*?(?=</NumberOfTries>)").Value;    // колличество попыток шаблона
       if (Name_Sablon.CompareTo(name_result)==0) {                                                                    // поиск нужного шаблона
        try { NumberOfTries=  int.Parse( NumberOfTries_str); }  catch{}
        break;
      }
}
if (NumberOfTries<1) ZennoPoster.AddTries(name_result,1);                                                            // проверка колличества попыток и запуск шаблона
else throw new Exception();                                                                                            // выход по красной если не надо запускать
Спасибо пойдет в коллекцию!
Но не вижу настройки количества потоков. В один поток работает?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
если надо выставить максимум потоков из кода то вот такой код выставляет 30 например
C#:
ZennoPoster.SetMaxThreads(name_result,30);
 
  • Спасибо
Реакции: molotok и Сибиряк
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
Оставлю может пригодится кому.
Запускаемый кодом шаблон должен быть запущен. Иначе отдает ошибку "Нераспознанный формат идентификатора GUID."


C#:
string tempname = "Parser";
int tries = Int32.Parse(project.Variables["tmp"].Value); // количество исполнений

if (tries>0){
   ZennoPoster.SetMaxThreads(tempname,30); //кол-во потоков
   ZennoPoster.AddTries(tempname, tries);
   TaskHelper.WaitRun(project,tempname );  //ожидаем завершения всех исполнений
}

Вдруг кому интересно еще тема схожая но уже про C#
 
  • Спасибо
Реакции: alexbarov и Gannicus

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 336
Баллы
113

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 761
Благодарностей
2 401
Баллы
113
Почему шаблон не может получить своё имя файла и нужно обязательно задавать его в строке?
Возможно потому, что код написан для управления другим шаблоном.
Также название шаблона в Зеннопостере != названию шаблона на HDD (могли переименовать в Зеннопостере...).
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 336
Баллы
113
Возможно потому, что код написан для управления другим шаблоном.
Также название шаблона в Зеннопостере != названию шаблона на HDD (могли переименовать в Зеннопостере...).
Хорошо, а есть возможность получить filename исполняемого шаблона?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 761
Благодарностей
2 401
Баллы
113
Хорошо, а есть возможность получить filename исполняемого шаблона?
Имя файла содержится в переменной окружения: {-Project.Name-}
Но, если мы добавим шаблон в Зеннопостер, и переименуем его - то данная переменная всёравно (по логике) должна возвращать имя файла, а вот управлять шаблоном в Зеннопостере мы должны относительно имени, которое имеет данный шаблон в Зеннопостере (ведь мы можем один шаблон добавить несколько раз с разными именами).
 
  • Спасибо
Реакции: Astraport
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
Такой вопрос.
Можно ли проверять запущен ли шаблон "Parser"?
Если нет выводить returnом сообщение.
Если да то исполняется основной код.

C#:
string tempname = "Parser";
int tries = Int32.Parse(project.Variables["tmp"].Value); // количество исполнений

if (tries>0){
   ZennoPoster.SetMaxThreads(tempname,30); //кол-во потоков
   ZennoPoster.AddTries(tempname, tries);
   TaskHelper.WaitRun(project,tempname );  //ожидаем завершения всех исполнений
}
 

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