Можно ли в ZennoPoster вручную указать путь к проекту?

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 643
Благодарностей
1 413
Баллы
113
Вопрос:
Можно ли в ZennoPoster вручную указать путь к проекту для уже настроенного задания?

Описание ситуации:
Допустим, я добавляю в ZennoPoster проект через кнопку "+" — проект называется bot v1. Настраиваю его, ставлю расписание, всё работает.
На следующий день выпускаю обновлённую версию проекта под именем bot v2.
Есть ли способ "подсунуть" новое имя проекта (bot v2) вместо старого bot v1, чтобы ZennoPoster продолжил работать с ним, сохранив все настройки задания (расписание, параметры и т.д.)?
Важно, чтобы при этом не нужно было менять имя проекта обратно на старое, так как версия в имени проекта важна для учёта версий бота на разных серверах.

Иными словами:
Можно ли в ZennoPoster динамически переуказать путь к проекту без необходимости менять имя файла проекта на старое?
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 798
Благодарностей
1 392
Баллы
113
Думаю, можно реализовать через подмену пути к шаблону в файле Tasks.dat, но проблема в том, что потребуется перезагрузка ZennoPoster (чтобы он зацепил новые пути).
Ну или нормально просто сделать один файл шаблона и его "перезаписывать поверх", тогда следующий поток после перезаписи шаблона уже будет работать с новой версией (при этом все настройки сохранятся, если не менялись их названия или не появились новые, но если новые, то просто делай нужные значения "по-умолчанию").
 
  • Спасибо
Реакции: The_vAe

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 643
Благодарностей
1 413
Баллы
113
Думаю, можно реализовать через подмену пути к шаблону в файле Tasks.dat, но проблема в том, что потребуется перезагрузка ZennoPoster (чтобы он зацепил новые пути).
Ну или нормально просто сделать один файл шаблона и его "перезаписывать поверх", тогда следующий поток после перезаписи шаблона уже будет работать с новой версией (при этом все настройки сохранятся, если не менялись их названия или не появились новые, но если новые, то просто делай нужные значения "по-умолчанию").
Нормально сделать - означает отказаться от развития, а без него к сожаленмю никуда, особенно если серверов 5-10
 

dr.reklam

Client
Регистрация
02.06.2020
Сообщения
71
Благодарностей
29
Баллы
18
А если импортировать настройки и сохранить их от первой версии и потом экспортировать их во вторую версию?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 580
Благодарностей
3 400
Баллы
113
Можно сделать через API.
Есть минимальный пример добавления.

upd: Сорри, речь была же про ручное... но тогда создайте - через API.
 
Последнее редактирование:
  • Спасибо
Реакции: The_vAe

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 836
Благодарностей
1 209
Баллы
113
Есть ли способ "подсунуть" новое имя проекта (bot v2) вместо старого bot v1, чтобы ZennoPoster продолжил работать с ним, сохранив все настройки задания (расписание, параметры и т.д.)?
Как делаю я.
- Есть шаблон, у которого постоянно меняется название, точнее версия sablon.5.5.zp, sablon.5.6.zp
- Есть эталонный шаблон с единым названием sablon.zp
- При выходе новой версии удаляю эталонный и меняю его файлом новой версии.
- Эталонный шаблон в зенку добавляю столько раз, сколько необходимо, каждый настраивая под конкретную задачу.
Итого: В зенке несколько шаблонов, а по факту это только один файл, который я обновляю новым при выходе новой версии.

Для быстрого копирования можно воспользоваться скриптом

Код:
@echo off
chcp 1251 > nul
setlocal

echo Поиск файлов с шаблоном sablon.5.*.zp...

rem Сначала получим список всех файлов во временный файл
dir /b sablon.5.*.zp > temp_files.txt

rem Сортируем список файлов и берем последний (с наибольшей версией)
for /f "delims=" %%i in ('sort /r temp_files.txt') do (
    set "newestFile=%%i"
    goto :found
)

:found
rem Удаляем временный файл
del temp_files.txt

rem Проверяем, был ли найден файл
if not defined newestFile (
    echo Файлы с шаблоном sablon.5.*.zp не найдены.
    goto :EOF
)

echo Найден файл: %newestFile%

rem Копируем файл (с заменой существующего)
copy /Y "%newestFile%" "sablon.zp" >nul

if %errorlevel% equ 0 (
    echo Файл успешно скопирован как sablon.zp
) else (
    echo Ошибка при копировании файла.
)

endlocal
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 798
Благодарностей
1 392
Баллы
113
Нормально сделать - означает отказаться от развития, а без него к сожаленмю никуда, особенно если серверов 5-10
Под "нормально сделать" имелось ввиду, что ты просто перезаписываешь файл шаблона с одним названием (новый поверх старого). Зачем менять название файла шаблона? Ну, для себя можно версии хранить отдельно, но рабочий пусть будет один, без номера версий. Просто его поверх перезаписываешь после обновлений. Ниже такой же пример привели.
 
  • Спасибо
Реакции: S10n4eg

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
316
Благодарностей
54
Баллы
28
Под "нормально сделать" имелось ввиду, что ты просто перезаписываешь файл шаблона с одним названием (новый поверх старого). Зачем менять название файла шаблона? Ну, для себя можно версии хранить отдельно, но рабочий пусть будет один, без номера версий. Просто его поверх перезаписываешь после обновлений. Ниже такой же пример привели.
Еще я добавлю - что можно закинуть шаблон в облако и не нужно будет, на каждый сервер заходить и менять шаблоны
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 643
Благодарностей
1 413
Баллы
113
Под "нормально сделать" имелось ввиду, что ты просто перезаписываешь файл шаблона с одним названием (новый поверх старого). Зачем менять название файла шаблона? Ну, для себя можно версии хранить отдельно, но рабочий пусть будет один, без номера версий. Просто его поверх перезаписываешь после обновлений. Ниже такой же пример привели.
Когда на сервере в одной папке должно находиться примерно 5 ботов, и каждый бот должен иметь свою уникальную версию для тестирования, причём таких уникальных серверов 5–10 штук, с уникальными версиями ботов на каждом из них, извините, но я не привык заниматься мазохизмом — каждый день копировать, без учёта версий и вручную вносить глобальные правки, которые могут быть с критичными ошиками и нужно будет делать откат.

Ваше решение подходит только в случаях, когда нет крупных проектов, от которых зависят другие проекты и их стабильность. Поэтому, увы, "метод палок" здесь не поможет.



Еще я добавлю - что можно закинуть шаблон в облако и не нужно будет, на каждый сервер заходить и менять шаблоны
Не совсем понял как вы закинете на облако и с облака будете подкачивать версии?
 
Последнее редактирование:

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 798
Благодарностей
1 392
Баллы
113
Какой "метод палок"? Несколько серверов работают более чем стабильно с такими "палками" (и с шаблонами из облака, когда еще и заливаются сразу везде с одной машины, версии, в конце концов, можно настройками/логами и прочим контролировать). Возможно, Вы не так поняли, что имеется ввиду. В любом случае, не суть. Вы спросили, Вам подсказали варианты решения (которые, уверен, работают у многих здесь). Не подходят - Ваше право. Удачи в поиске решения без "метода палок" ))
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 643
Благодарностей
1 413
Баллы
113
Какой "метод палок"? Несколько серверов работают более чем стабильно с такими "палками" (и с шаблонами из облака, когда еще и заливаются сразу везде с одной машины, версии, в конце концов, можно настройками/логами и прочим контролировать). Возможно, Вы не так поняли, что имеется ввиду. В любом случае, не суть. Вы спросили, Вам подсказали варианты решения (которые, уверен, работают у многих здесь). Не подходят - Ваше право. Удачи в поиске решения без "метода палок" ))
Как обьяснили так и понял.) Заменять файл с таки же именем не вариант, я ведь сразу написал, что важно имя, а не подсовывания такого же имени что бы потом сломать голову какая версия где установлена. А тратить время на то что бы каждый день записывать какая версия где, ну увы, пытаюсь делать с максимальной оптимизацией. Спасибо за помощь
 

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
316
Благодарностей
54
Баллы
28
Когда на сервере в одной папке должно находиться примерно 5 ботов, и каждый бот должен иметь свою уникальную версию для тестирования, причём таких уникальных серверов 5–10 штук, с уникальными версиями ботов на каждом из них, извините, но я не привык заниматься мазохизмом — каждый день копировать, без учёта версий и вручную вносить глобальные правки, которые могут быть с критичными ошиками и нужно будет делать откат.

Ваше решение подходит только в случаях, когда нет крупных проектов, от которых зависят другие проекты и их стабильность. Поэтому, увы, "метод палок" здесь не поможет.




Не совсем понял как вы закинете на облако и с облака будете подкачивать версии?
На примере гуглдрайва. Я установил на все сервера один и тот же аккаунт гуглдрайва и указал на каждом сервере путь к шаблону который лежит на гуглдрайве.
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 643
Благодарностей
1 413
Баллы
113
На примере гуглдрайва. Я установил на все сервера один и тот же аккаунт гуглдрайва и указал на каждом сервере путь к шаблону который лежит на гуглдрайве.
я даже представить боюсь как оно у вас работает, когда стабильность такого подключения под вопросом, не раз у знакомых вылеты и зависания были от таких виртуальных дисков, особенно когда работа с профиль-папками зенно
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 798
Благодарностей
1 392
Баллы
113
особенно когда работа с профиль-папками зенно
Причем здесь профили? Профили лежат, где надо, их-то зачем тянуть в облако. Сам файл шаблона может лежать в облаке, ему там ничего не мешает (у меня, например, для этого используется Dropbox, на одном из серверов более 450 шаблонов взаимозависимых настроено, часть по расписанию, часть из других шаблонов, часть по внешним триггерам из базы данных, допустим, все работает как часы годами, без сбоев, а там многие бизнес-процессы настроены, стабильность прямо критична). Тот же Дропбокс - это не шаблон в облаке, это шаблон на диске на машине (на каждой), через облако он просто синхронизируется. И даже если облако отвалится, шаблон так и будет работать, он физически на диске лежит. Ну и, скажем прямо, если Вы боитесь представить, это не значит, что у нас оно не работает )))
Я бы, если задача следить за версиями на каждом сервере, просто сделал бы в общем облаке копию шаблона под каждый сервер, ее перезаписывал уже на нужную версию, а вот за тем, когда на каком сервере работает какая версия шаблона, следил через какие-нибудь логи. Допустим, в настройки шаблона добавил бы возможность указать название сервера и, например, версию шаблона, и при старте просто отправлял в какую-нибудь БД запрос, который бы записывал, какая версия шаблона в этот момент работала на этом сервере. Но это, да, вариант, когда "нужно ехать, а не шашечки" ))) Можно, конечно, искать варианты сделать "как хочется" (если есть изначальная картина в голове, как в идеале должно быть), а можно просто подстроиться под имеющиеся возможности и быстро реализовать тем, что есть под рукой.
ps. Не пытаюсь ни в чем убедить, просто делюсь мнением, как можно реализовать. Может, кому-нибудь другому когда-нибудь пригодится, даже если Вам не подойдет ))
 
  • Спасибо
Реакции: S10n4eg и Oleg1987

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
316
Благодарностей
54
Баллы
28
я даже представить боюсь как оно у вас работает, когда стабильность такого подключения под вопросом, не раз у знакомых вылеты и зависания были от таких виртуальных дисков, особенно когда работа с профиль-папками зенно
очень внимательно прочитайте что я написал.
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 643
Благодарностей
1 413
Баллы
113
очень внимательно прочитайте что я написал.
Я бы вам тоже рекомендовал бы очень внимательно читать, особенно когда вопрос про огурцы, а советы про помидоры
Когда на сервере в одной папке должно находиться примерно 5 ботов, и каждый бот должен иметь свою уникальную версию для тестирования, причём таких уникальных серверов 5–10 штук, с уникальными версиями ботов на каждом из них
 

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
316
Благодарностей
54
Баллы
28
Я бы вам тоже рекомендовал бы очень внимательно читать, особенно когда вопрос про огурцы, а советы про помидоры
А на гугл драйв они не в одной папке будут находиться? Вам надо будет только на гугл драйв закидывать шаблоны и указать путь в постере к этим шаблонам. У меня было 7 серверов и я через гугл драйв и через него все прекрасно работало. Но я вам больше отвечать не буду, вы какой-то хамовитый типочек со своим миром
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 643
Благодарностей
1 413
Баллы
113
А на гугл драйв они не в одной папке будут находиться? Вам надо будет только на гугл драйв закидывать шаблоны и указать путь в постере к этим шаблонам
Спасибо за старание, но вопрос же в другом стоит. Я про функционал зенно спрашиваю, а не про гугл диски или подмену файла с одинаковым именем.
Можно ли в ZennoPoster динамически переуказать путь к проекту без необходимости менять имя файла проекта на старое?
 

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
316
Благодарностей
54
Баллы
28
Спасибо за старание, но вопрос же в другом стоит. Я про функционал зенно спрашиваю, а не про гугл диски или подмену файла с одинаковым именем.
ППц ну вы меня прям выводите. Ну переименуйте вы версию bot1 в ,bot1_old, а новую в bot1 и сохраните на гуглдрайв
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 643
Благодарностей
1 413
Баллы
113
ППц ну вы меня прям выводите. Ну переименуйте вы версию bot1 в ,bot1_old, а новую в bot1 и сохраните на гуглдрайв
Еще раз пожалуйста внимательно вчитайтесь в суть вопроса.
переуказать путь к проекту без необходимости менять имя файла
 

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
316
Благодарностей
54
Баллы
28
Еще раз пожалуйста внимательно вчитайтесь в суть вопроса.
Вы точно разработчик? Рассказываю специально для вас, если вам не подходит старое имя указывать, то берете создаете текстовый файл и в нем указываете свои сервера - sever1;F:\ololo-new.zp sever2;F:\pipi-new.zp . Думаю дальше разберетесь как это реализовать
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 643
Благодарностей
1 413
Баллы
113
Вы точно разработчик? Рассказываю специально для вас, если вам не подходит старое имя указывать, то берете создаете текстовый файл и в нем указываете свои сервера - sever1;F:\ololo-new.zp sever2;F:\pipi-new.zp . Думаю дальше разберетесь как это реализовать
Я не спрашиваю про костыли, я спросил про функционал зеннопостера ("вручную указать путь к проекту"), уже ответили на вопрос, Спасибо :az:

Вы пытаетесь донести то, что является костылем, мало того, вы так и не поняли что требовалось ("вручную указать путь к проекту").
Таким же образом я могу просто сохранять имена без версии и заливать без проблем одно и то же имя без остановки ботов (то что я указал в стартовом посте - "без необходимости менять имя файла" и "вручную указать путь к проекту"), но вы ведь этого не понимаете и пихаете диски которые вообще не туда.)

Старайтесь пожалуйста игнорировать мои темы, что бы не портить себе нервы. Видимо у нас разное понимание функционала самого зеннопостера и костыли с заменой.

Вот что в тему и то что в теории поможет - это называется функционал зеннопостера, а не гугл диск:-):
Думаю, можно реализовать через подмену пути к шаблону в файле Tasks.dat, но проблема в том, что потребуется перезагрузка ZennoPoster (чтобы он зацепил новые пути).
Можно сделать через API.
Есть минимальный пример добавления.

upd: Сорри, речь была же про ручное... но тогда создайте - через API.
 
Последнее редактирование:

SellProduct_AD

Новичок
Регистрация
05.04.2025
Сообщения
21
Благодарностей
8
Баллы
3
Такую задачу можно решить, через изменение Tasks.dat, с предварительным закрытием Зеннопострера
- Найти блок <Task> по имени Задачи <Name>
- В найденном блоке <Task> изменить <Project><ProjectFileLocation>

Для удобства внесения изменений, я бы создал простую винформу, вывел бы на нее список файлов из папки с проектами и после выбора нужной версии, по клику кнопки вносил изменения в Tasks.dat, сопоставляя имя файла и имя проекта по маске Имя проекта Версия -> Имя проекта

Так же для удобства, я бы на этой же винформе сделал бы при открытии винформы, сканирование Tasks.dat и формирование текущих сопоставлений имен с файлами.
 
  • Спасибо
Реакции: The_vAe

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