2014-09-22 88 views
1

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

+1

您可能希望使用JVM关闭挂钩,如果您的JVM正常关闭尝试。 – 2014-09-22 18:32:52

+0

谢谢。我会给你一个加1,如果我可以...... – pickwick 2014-09-23 15:39:06

回答

3

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

这是当我需要做什么,我通常会做:

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