Как лучше реализовать сервер, запускающий проект?

molokobarabulka

Новичок
Регистрация
22.09.2025
Сообщения
2
Благодарностей
0
Баллы
1
Привет. Задача следующая: по запросу на сервер запускать проект.
Насколько я понимаю, я могу написать приложение на C#, и, используя библиотеку зенно, подгружать и запускать проект из кода, верно?
Или есть вариант написать код внутри проекта, в кубике?
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 598
Благодарностей
914
Баллы
113
Привет. Задача следующая: по запросу на сервер запускать проект.
Насколько я понимаю, я могу написать приложение на C#, и, используя библиотеку зенно, подгружать и запускать проект из кода, верно?
Или есть вариант написать код внутри проекта, в кубике?
Первый варик, сохраняешь где то айдишник таски, и потом отдельным софтом (на пример телеграм ботом) через этот айдишник можно количество потоков с 0 установить на нужное и проект стартанет.

айдишник получать вот так Guid.Parse(project.TaskId)

задавать количество потоков так ZennoLab.CommandCenter.ZennoPoster.SetMaxThreads(Guid.Parse(project.TaskId), countThreads);
 
  • Спасибо
Реакции: molokobarabulka

profi88

Client
Регистрация
10.09.2018
Сообщения
321
Благодарностей
51
Баллы
28
Да — можно двумя способами.
  1. Внешнее приложение на C# (рекомендую). Через ZennoPoster / ZennoLab SDK вы можете из кода подгружать и запускать проекты, передавать параметры, получать результаты и логировать. Это удобно для API/вебхуков: делаете HTTP endpoint — по запросу запускаете проект, управляете очередью, масштабированием и правами.
  2. Код внутри проекта (в «кубике» / C#-блоке). Подходит для мелкой логики и быстрого прототипа, но сложнее поддерживать, тестировать и интегрировать с внешними сервисами.

Также вариант: запуск через командную строку/процесс (если нужен простой триггер) или через очередь/БД между сервисом и Zenno.


Рекомендация: если нужна надёжная серверная интеграция — делайте C# сервис + Zenno SDK; если одноразово — можно внутри проекта.
 
  • Спасибо
Реакции: molokobarabulka

molokobarabulka

Новичок
Регистрация
22.09.2025
Сообщения
2
Благодарностей
0
Баллы
1
Спасибо большое всем за ответы.


Внешнее приложение на C# (рекомендую). Через ZennoPoster / ZennoLab SDK вы можете из кода подгружать и запускать проекты, передавать параметры, получать результаты и логировать. Это удобно для API/вебхуков: делаете HTTP endpoint — по запросу запускаете проект, управляете очередью, масштабированием и правами.
Я нашел этот метод https://help.zennolab.com/en/v5/zennoposter/5.23.0.0/topic1008.html, подскаите пожалуйста, доступ к инстансу projectmodel есть только при создании кубика "проект visual studio", или можно реализовать в полностью standalone приложении?
 

profi88

Client
Регистрация
10.09.2018
Сообщения
321
Благодарностей
51
Баллы
28
IZennoPosterProjectModel доступен только в контексте ZennoPoster
(C#-куб, Visual Studio Project — код, запущенный из Project Maker).

В этих сценариях объект project/ProjectModel инжектируется и вы можете вызывать ExecuteProject, работать с переменными, таблицами и т.д. help.zennolab.com+1


В standalone-приложении прямого доступа к инстансу в процессе ZennoPoster нет. Варианты реализации:
  1. Писать DLL/VisualStudio-проект и подключать его в проект через «Visual Studio Project» — тогда код выполняется внутри Zenno и получает ProjectModel. zennolab.atlassian.net
  2. Делать внешнее приложение, которое управляет ZennoPoster через его внешние механизмы (WebFrame/контроллер, CLI, вызов ExecuteProject из внутри Zenno) — тогда вы оркеструете запуск проектов и передаёте параметры, но экземпляр ProjectModel всё равно будет внутри Zenno. help.zennolab.com
Если вам нужно тесное взаимодействие с проектом — лучше используйте Visual Studio Project или DLL внутри проекта; если нужна внешняя оркестрация — реализуйте standalone сервис + вызов/взаимодействие с Zenno через ExecuteProject / WebFrame.
 
  • Спасибо
Реакции: molokobarabulka

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