2014-09-22 86 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 ...)))))))