Подтвердить что ты не робот

Как запустить произвольную функцию запуска в кольцевом проекте?

У меня есть приложение compojure/ring, которое я в настоящее время запускаю с lein ring server, который я хотел бы скомпилировать в .war, чтобы я мог его развернуть. Однако у меня есть определение, точно так же, как

 (def foo (start-scheduler))

Это блокирует компиляцию и генерацию .war. Чтобы обойти это, я подумал о переходе вызова к функции запуска, но как бы назвать его при запуске сервера?

Если я поместил вызов внутри обработчика, я столкнулся бы с той же проблемой, что и раньше.

Спасибо!

4b9b3361

Ответ 1

В своем project.clj при объявлении вашего обработчика Ring вы также можете указать функцию init (и destroy), которая запускается при запуске вашего приложения:

:ring {:init myproject.core/init
       :destroy myproject.core/destroy
       :handler myproject.core/handler}

Это описано здесь: https://github.com/weavejester/lein-ring#general-options