2015-09-18 19 views
5

Ứng dụng đường ray của tôi đang sử dụng đá quý ActionCable, được cấu hình như một ứng dụng trò chuyện đơn giản với một kênh.Kết nối liên tục/ngắt kết nối ActionCable

Sự kiện đóng tiếp tục được gọi, sau đó mở lại liên tục. Máy chủ Rails của tôi đang nhìn thấy kết nối đúng cách; vòng lặp đang diễn ra trong trình duyệt/Javascript.

Connection.prototype.events = { 
     message: function(event) { 
     var identifier, message, ref; 
     ref = JSON.parse(event.data), identifier = ref.identifier, message = ref.message; 
     return this.consumer.subscriptions.notify(identifier, "received", message); 
     }, 
     open: function() { 
     this.disconnected = false; 
     return this.consumer.subscriptions.reload(); 
     }, 
     close: function() { 
     return this.disconnect(); 
     }, 
     error: function() { 
     return this.disconnect(); 
     } 
    }; 

Có ai gặp phải sự cố này không?

+0

Tôi gặp vấn đề tương tự, hóa ra tôi trở thành một bộ sưu tập rác lớn sẽ mất hơn 8 giây hoặc hơn khiến khách hàng bỏ lỡ ping. Tôi đã chạy phiên bản dev firefox và nó bật ra có một rò rỉ bộ nhớ, nơi firefox đã tiêu thụ 8gb bộ nhớ. – timthez

+0

Bạn đã bao giờ tìm ra điều gì sai với điều này? Tôi cũng gặp vấn đề này. –

Trả lời

-1

Tôi gặp sự cố tương tự này và tôi phát hiện ra rằng điều này liên quan đến các thông báo ping mà máy chủ dự kiến ​​sẽ gửi cho khách hàng. Khi kết thúc, máy khách không nhận được chúng, nó sẽ nhận được thông báo kết nối với X channel thành công.

Edit: @vanboom xin vui lòng kiểm tra xem bạn đang tham chiếu actioncable trong gemfile của bạn như thế này:

gem 'actioncable', github: "rails/actioncable", branch: 'archive' 
0

Hãy chắc chắn rằng bạn đang sử dụng một máy chủ khác ngoài mỏng. Tôi đã có vấn đề này và đập đầu của tôi chống lại bàn phím của tôi trong 3 ngày cho đến khi thử một máy chủ khác (puma) và đã có thể giải quyết vấn đề của tôi. https://github.com/puma/puma

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