2011-09-25 102 views
30

「連接到處理錯誤」我已經部署了軌3.1應用的Heroku雪松堆棧,並正嘗試進行:Heroku的運行控制檯回報

heroku run rake db:migrate 

返回:

Running console attached to terminal... 
Error connecting to process 

我也嘗試啓動控制檯:

heroku run console 

任何運行命令都會返回相同的錯誤。

Running console attached to terminal... 
Error connecting to process 

望着日誌我得到的錯誤代碼:

2011-09-25T16:04:52+00:00 app[run.2]: Error R13 (Attach error) -> Failed to attach to process 

當我heroku ps查看當前進程,我可以看到我嘗試運行:

Process  State    Command 
------------ ------------------ ------------------------------ 
run.2   complete for 26m bundle exec rails console 
run.3   up for 27s   bundle exec rails console 
run.4   up for 3s   bundle exec rake db:create 
web.1   up for 46s   bundle exec thin start -p $PORT -e.. 

但同樣他們每個人都在提出例外:

2011-09-25T16:31:47+00:00 app[run.3]: Error R13 (Attach error) -> Failed to attach to process 
2011-09-25T16:31:47+00:00 heroku[run.3]: Process exited 
2011-09-25T16:31:48+00:00 heroku[run.3]: State changed from up to complete 
2011-09-25T16:32:11+00:00 app[run.4]: Error R13 (Attach error) -> Failed to attach to process 
2011-09-25T16:32:11+00:00 heroku[run.4]: Process exited 
2011-09-25T16:32:12+00:00 heroku[run.4]: State changed from up to complete 

服務器管理員不是我的一杯茶,因此決定使用Heroku。

Heroku的文檔和谷歌搜索都沒有讓我走上一條讓我繼續前進的道路。

任何想法?這並不是我在竹堆上的經驗。

我的其他錯誤顯然與DB遷移未執行有關。直到我可以運行rake任務時,我都卡在前進。

+0

有趣..我也有這個問題。 – dmonopoly

回答

81

我有同樣的問題,雖然我沒有解決問題,但我找到了解決方法。

而不是使用:

Heroku的運行耙分貝:遷移

您可以使用:

Heroku上運行:獨立耙分貝:遷移

這會在後臺運行該命令,將輸出寫入日誌。完成後,您可以查看結果的日誌。

並不理想,但如果你是一個不充分的網絡上,它可以把你出一個大洞:)

+0

太棒了!你知道在這種方式運行rails c之後是否有辦法執行命令? –

+0

完美!謝謝! –

+0

heroku運行:detached rake db:migrate爲我工作!乾杯謝謝隊友.. :) –

0

它看起來像Heroku的問題 - 我在Cedar上運行的應用程序上連接到控制檯時出現錯誤。你當然不會對你輸入的命令有任何問題。

1

嘗試安裝最新版本的heroku gem,然後再次運行這些「heroku運行」命令。

+0

燁試過,仍然收到相同的錯誤? – jdcravens

+0

Im使用heroku-gem/2.11.0 – jdcravens

17

此問題通常是由連接或防火牆問題引起的。您可以測試通過運行以下命令你到heroku runheroku console服務器的連接:

$ telnet rendezvous.heroku.com 5000 
$ telnet s1.runtime.heroku.com 5000 

(如果你能夠成功連接,按按Ctrl +]然後鍵入quit退出telnet會話。)

某些用戶在其防火牆中將這些主機名+端口組合列入白名單後已成功。

的Heroku提到這在一次性過程的故障排除部分:http://devcenter.heroku.com/articles/oneoff-admin-ps

的應用程序,這需要長時間開機也能激怒連接問題。如果服務器的響應速度不夠快,則在應用程序啓動之前,本地連接將超時。

+0

ipfw列表返回 - > 65535允許ip從任何到任何 – jdcravens

+0

解決 - 測試與3G繫繩和接收到的響應,似乎不是防火牆;可能代理或ISP。 – jdcravens

+2

Heroku使用通常被法人ISP禁止的端口運氣不好http://www.linklogger.com/TCP5000.htm – robermorales

0

已解決 - 使用3G繫繩測試並收到響應,似乎不是防火牆;可能代理或ISP。

4

的看來這種情況發生的原因不盡相同。對我來說,原來是我安裝了Heroku Toolbelt的舊版本。這是在自我更新版本之前,我還安裝了舊版本的heroku寶石。在更新heroku工具帶之前必須將其刪除。

本頁證明有幫助。先念: https://devcenter.heroku.com/articles/heroku-command#staying-up-to-date

找出其中的Heroku工具區版本(如果有的話)使用的是這樣的:

$ heroku version 
heroku-toolbelt/2.xx.x 

如果它比2.32.0版本舊則需要更新。如果你在回覆中沒有看到'heroku-toolbelt',那麼你需要安裝它。

確保你先卸載任何舊的heroku寶石。 運行下面的命令問我是否也想刪除可執行文件。正確答案是YES!如果您需要特定應用程序的寶石,您可以隨時進行捆綁/安裝。

$ gem uninstall heroku --all 

如果您正在使用rbenv,您可能需要老調重彈:

$ rbenv rehash 

一旦你清理掉舊的寶石,下載最新的Heroku工具區,並安裝它。一切都應該在重新啓動終端後工作。

編輯:

我必須確保我的rbenv路徑沒有在Heroku的CLI路徑的前面置位。否則,舊版heroku gem的任何捆綁/安裝將再次劫持heroku命令。我在我的〜/ .profile文件的末尾添加了導出路徑行,以便在任何rbenv路徑之前添加它。

$ vi ~/.profile 
export PATH=/usr/local/heroku/bin:$PATH 

重裝終端顯示該運行工作和路徑在/ usr /地方不是/ Heroku的

$ which heroku 
/usr/local/heroku/bin/heroku 
+0

是的,更新heroku CLI是我的解決方案。儘管heroku文檔說cli會自動更新,我必須運行'heroku update'來強制更新。 – Marcus

0

對於我來說,我的升級的Heroku工具區和CLI工作。我使用brew所以它看起來像這樣:

brew upgrade heroku-toolbelt