У меня есть проект с тремя подобными подпроектами (с использованием lein-sub):
(defproject trident "0.1.0"
...
:sub
["admin"
"api"
"site"])
Внутри каждого есть кольцевой обработчик, что-то вроде этого:
(defproject trident-api "0.1.0-SNAPSHOT"
...
:ring {:handler trident.api.core/handler
:servlet-name "trident-api"
:init trident.api.core/init
:port 33333})
Прямо сейчас я захожу в каждый и печатаю:
> lein ring server
Это явно утомляет. я тоже пробовал
> lein sub ring server
Который вроде как должен работать, но он только запускает первый и процесс присоединяется к нему! Возможно, есть обходной путь? Казалось бы, это самый простой подход.
Вместо этого я сейчас пишу задачу leiningen, чтобы сделать это для меня, но сталкиваюсь с некоторыми проблемами. Я могу достаточно легко получить файл проекта для каждого из них, используя leiningen.core.project/read, но как мне запустить каждый кольцевой сервер таким образом, чтобы учитывались все зависимости и другие настройки из соответствующих файлов project.clj?
Любые идеи?