无法让胭脂红 mq worker 保持打开状态

can't keep carmine mq worker open

我正在尝试在持续 运行 过程中实施胭脂红工人。

使用 lein run myclass.foo 启动以下应用程序时,它只会启动工作程序并立即停止。

(def my-worker
  (car-mq/worker queue-server "my-queue"
   {:handler (fn [{:keys [message attempt]}]
               (println "Received" message)
               {:status :success})
    :auto-start false}))


(defn -main []
  (car-mq/start my-worker))

我的目标是这样的

运行 它与 lein foo 是错误的做法。我编辑了整个问题以符合我发现的 'solution'。

主要问题是,我正在使用 lein run myclass.foo 到 运行 它。 lein trampoline run myclass.foo 启动应用程序的 JVM 并摆脱 leiningen 的,这似乎正是我所需要的。当使用 trampoline 而不是 run 时,应用不会立即退出。

第 2 步,关闭 ctrl-c 上的连接是一个简单的关闭挂钩

(.addShutdownHook (Runtime/getRuntime) (Thread. #(car-mq/stop my-worker)))