无法让胭脂红 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))
我的目标是这样的
- 启动 foo 侦听器
- foo 侦听器在前台运行并打印发布到队列的所有内容
- Ctrl-c / quit 会关闭监听器
运行 它与 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)))
我正在尝试在持续 运行 过程中实施胭脂红工人。
使用 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))
我的目标是这样的
- 启动 foo 侦听器
- foo 侦听器在前台运行并打印发布到队列的所有内容
- Ctrl-c / quit 会关闭监听器
运行 它与 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)))