2011-12-20 18 views

Trả lời

16

Từ: http://devcenter.heroku.com/articles/oneoff-admin-ps

Quá trình Heroku chạy mở một kết nối đến Heroku trên cổng 5000. Nếu mạng cục bộ hoặc ISP chặn cổng 5000, hoặc bạn là gặp phải sự cố kết nối, bạn sẽ thấy một lỗi tương tự như:

$ heroku run rails console 
Running rails console attached to terminal... 
Timeout awaiting process 

bạn có thể kiểm tra kết nối của bạn để Heroku bằng cách cố gắng để kết nối trực tiếp tới cổng 5000 bằng cách sử dụng telnet để rendezvous.heroku.com. Một phiên thành công sẽ trông như thế này:

$ telnet rendezvous.heroku.com 5000 
Trying 50.19.103.36... 
Connected to ec2-50-19-103-36.compute-1.amazonaws.com. 
Escape character is '^]'. 

Nếu bạn không nhận được kết quả này, máy tính của bạn đang bị chặn từ truy cập vào các dịch vụ của chúng tôi. Chúng tôi khuyên bạn nên liên hệ với bộ phận CNTT của mình, ISP hoặc nhà sản xuất tường lửa để tiếp tục với vấn đề này.

+2

Bất kỳ phương tiện khác (so với đường hầm), bạn có thể đề xuất định cấu hình "chạy" để truy cập thông qua bất kỳ cổng nào trong danh sách trắng như 22 hoặc qua giao diện người dùng web? –

+3

port 5000 không bị chặn đối với tôi, nhưng tôi vẫn đang nhận được "Timeout awaiting process". – Arcolye

+0

@Arcolye, xin chào! Bạn đã tìm ra vấn đề này? có vẻ như tôi không có tắc nghẽn cổng 5000, nhưng tôi cũng không thể kết nối. Bạn đã bao giờ giải quyết điều này? Cảm ơn bạn. – jlstr

0

Tôi vừa kết nối thành công với bảng điều khiển trên Heroku

Có phải tất cả ứng dụng hay chỉ là một ứng dụng? Tôi khuyên bạn nên kiểm tra đá quý heroku của bạn được cập nhật, bạn có thể chạy các lệnh khác như heroku ps, khởi động lại ứng dụng của bạn thông qua khởi động lại heroku - nếu bạn đã thử các ứng dụng này sau đó liên lạc với hỗ trợ Heroku vì đã xảy ra sự cố với ứng dụng của bạn .

2

Có cách để bỏ qua hạn chế này bằng cách thực hiện các lệnh bạn sẽ thực thi bằng 'heroku run ...' trực tiếp dưới dạng cuộc gọi hệ thống.

Đối với lệnh Heroku này: Heroku chạy rake db: di chuyển Người ta có thể thực hiện cuộc gọi trong Ruby hệ thống ("rake db: di chuyển")

Cuộc gọi này có thể được thực hiện như một kết quả trên một số HTTP GET yêu cầu - bạn bảo vệ tốt hơn bằng một số phương tiện, để người lạ không thể tiếp cận được.

Đó không phải là cách hay - nhưng khi bạn không có lựa chọn - nó hoạt động.

+0

đó là cảm ơn intresting –

41

Tôi đã gặp vấn đề tương tự trên ISP FastWeb, một ISP ở đây tại Ý. Dựa trên Googling của tôi, dường như họ chặn cổng 5000.

Để có được xung quanh nó cho bây giờ, tôi đang chạy như sau:

heroku run:detached rake db:migrate 

Điều đó nói với nó để chạy mà không cần chờ đợi để kết nối với máy tính của tôi trên cổng 5000. Sau đó, bạn có thể kiểm tra nhật ký cho quá trình bạn vừa khởi động. (Lệnh heroku sẽ cho bạn biết điều này sau khi bạn chạy nó):

heroku logs -p run.1 

Điều đó yêu cầu nó xuất nhật ký cho tiến trình đang chạy. Nhưng tôi thấy rằng lệnh nhật ký đã thoát ngay cả khi quá trình của tôi vẫn đang chạy. Để khắc phục điều đó, bạn có thể thêm "-t" nếu bạn muốn "đuôi" các bản ghi:

heroku logs -p run.1 -t 

Bạn sẽ biết quá trình của bạn được thực hiện khi bạn nhìn thấy một cái gì đó như thế này trong các bản ghi:

2012-10-14T15:36:41+00:00 heroku[run.1]: Process exited with status 0 
2012-10-14T15:36:41+00:00 heroku[run.1]: State changed from up to complete 

tôi chắc chắn rằng ai đó có thể whip lên một kịch bản mà

  1. sẽ Chạy lệnh Heroku đưa ra với run:detached
  2. Kiểm tra đầu ra để xác định những tên quá trình của nó là (run.1, run.2, vv)
  3. chạy heroku logs -p run.1 -t và chỉ cho tôi đầu ra
  4. thoát quá trình các bản ghi khi nó thấy cái gì đó như State changed from up to complete
+1

Tôi liên lạc với Heroku hỗ trợ và họ đã có thể giúp tôi hơn nữa để workaround là không cần thiết. Đạo cụ cho Heroku. – Taytay

+0

cảm ơn từ Ý (Fastweb user ...) cho giải pháp thay thế. Làm cách nào để tránh sự cố này? Tôi muốn sử dụng các lệnh khác như 'run' và v.v. Họ đã làm gì cho bạn? – Fabio

+0

OP muốn chạy bảng điều khiển tương tác, vì vậy giải pháp này rất tiếc sẽ không hoạt động đối với trường hợp sử dụng của chúng. – user456584

1

tôi có cùng một vấn đề trên ISP FastWeb, một ISP ở đây tại Ý.

Cách đơn giản nhất để khắc phục những vấn đề được thiết lập một VPN khi bạn đang sử dụng heroku run (something)

Cá nhân tôi sử dụng Tunnel Bear mà cung cấp cho bạn 0.5GB lưu lượng internet miễn phí

Các vấn đề liên quan