我的clojure noir應用程序在本地100%正常工作,並連接到RedisToGo沒有問題。Clojure應用程序無法在Heroku上啓動; Aleph + RedisToGo超時
問題是,當我部署到Heroku的(混帳推Heroku的高手),我得到一個超時錯誤:
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
完整的日誌是在這裏:https://gist.github.com/1842439
當我刪除此Redis的連接代碼,它部署罰款:
(:use [aleph.redis :only (redis-client)])
(def r (redis-client {:host redis-url :password redis-pass :port redis-port}))
奇怪的是,當我跑「的Heroku運行雷音運行REPL」,並在上面的ALEPH代碼粘貼,它連接到Redis的很好,我可以讀/寫數據。
因此,關於如何啓動與RedisToGo的連接並對其進行計時的應用程序啓動。
是的,我剛剛嘗試添加延遲到redis連接和測試部署,有相同的超時問題。提交:https://github.com/dmix/documeds/commit/2aca28bb228c36374e5a21bccbb774438bc1c223 – dMix 2012-02-16 19:07:25
不是重要的,但爲什麼你定義'r'兩次?你的程序可能是一個例外,但似乎大多數情況下你希望跨應用程序使用共享客戶端(儘管您應該確保它不跨線程共享) – amalloy 2012-02-16 19:35:59
進一步嘗試部署固定程序來延遲進程似乎可以修復問題。我爲scraper分別定義了redis客戶端,因爲它將在未來單獨執行。 – dMix 2012-02-16 20:19:15