gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 10:59:43 24 4
gpt4 key购买 nike

我正在尝试在持续运行的流程中实现胭脂红 worker 。

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

(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))

我的目标是这样的

  • 启动 foo 监听器
  • foo listener 在前台运行并打印所有发布到队列的内容
  • Ctrl-c/quit 将关闭监听器

最佳答案

lein foo 运行它是错误的方法。我编辑了整个问题以符合我找到的“解决方案”。

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

第 2 步,关闭 ctrl-c 上的连接是一个简单的关闭钩子(Hook)

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

关于clojure - 无法让胭脂红 mq worker 保持打开状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29962274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com