Ваш вопрос немного общий, поэтому позвольте мне разбить его на части:
- У вас есть очередь RabbitMQ, и вы хотите получать сообщения из Clojure
- Вы хотите запуститьпотребитель этого сообщения как отдельная программа
- Вы хотите запустить эту программу в качестве фоновой задачи
Из вашего вопроса я понимаю, что у вас есть первая часть (использование сообщений RabbitMQ вClojure).
Для второй части вашего вопроса, запустите автономную программу clojure:
Вам необходимо создать основную функцию в вашем коде clojure, чтобы вы могли запускать ее как автономнуюпрограмма:
(defn -main [& args]
"your code")
Подробнее об этом см. на сайте clojure .Если вы используете Leiningen в качестве инструмента для сборки, вы должны указать свою основную функцию в файле project.clj
, а затем создать uberjar , например,
$ lein compile
$ lein uberjar
$ java -jar my-uber-jar.jar
Процедура запуска вашей программы в качестве фоновой задачи различна для разных операционных систем.Самый простой способ запустить что-то в фоновом режиме - добавить после команды амперсанд:
$ java -jar my-uber-jar.jar &
Но ваша программа завершит работу, когда вы закроете терминал, в который вы ввели эту команду.