Heroku Clojure应用程序退出钩子

时间:2014-09-22 17:55:01

标签: heroku clojure

我的clojure应用程序的入口点是-main,但有一个函数在应用程序退出时调用吗?当我的Heroku dyno宕机时,我需要关闭一些连接,但无法弄清楚在哪里或如何做到这一点。

1 个答案:

答案 0 :(得分:3)

正如Diego Basch所说,使用JVM关闭钩子。

这是我在需要时通常会这样做的事情:

(defn -main
  [& args]
  ((start ...)
   (.. (Runtime/getRuntime) (addShutdownHook (proxy [Thread] []
                                                 (run []
                                                   (stop ...)))))))