PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Yêu cầu bị kẹt trong PG ::Connection # async_exec

Sự cố đã được giải quyết sau khi chúng tôi bắt đầu thiết lập lại kết nối với cơ sở dữ liệu. Chúng tôi đang sử dụng sequel trong dự án và Hành khách tự xử lý vấn đề chỉ khi ActiveRecord được sử dụng.

Để mở rộng nó, theo mặc định, Hành khách sử dụng tính năng sinh sản thông minh cho các ứng dụng ruby. Đầu tiên nó tạo ra quy trình tải trước, quá trình này tải khung và tất cả các thư viện. Sau quá trình trình tải trước đó sinh ra các quy trình công nhân khi có nhu cầu, các quy trình này sẽ xử lý các yêu cầu. Khi sinh sản các quy trình công nhân, tất cả các bộ mô tả tệp được kế thừa từ quy trình trình tải trước. Vì vậy, nếu bạn không thiết lập lại kết nối với cơ sở dữ liệu, tất cả quy trình worker sẽ chia sẻ một quy trình, được thiết lập bởi trình tải trước. Dẫn đến tất cả các loại hành vi kỳ lạ. Thích các yêu cầu mất quá nhiều thời gian.

Trước đó, chúng tôi cũng đã chuyển việc xử lý các kết nối WebSocket sang một quy trình riêng biệt. Tuy nhiên, không chắc liệu nó có góp phần gây ra vấn đề hay không.

Tìm hiểu thêm về điều đó tại đây:

Ngắt kết nối nếu sử dụng Forking Webserver với Code tải trước
Chia sẻ bộ mô tả tệp không chủ ý
Chạy máy chủ Action Cable trên cùng một máy chủ và cổng, trong URI phụ




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Một-nhiều-một với các thuộc tính Biểu mẫu với Symfony 3 / Doctrine

  2. POSTGIS:tìm tất cả các điểm trong một đa giác

  3. trường được trích dẫn CSV chưa kết thúc trong Postgres

  4. Làm thế nào để trả về một giá trị từ một thủ tục được lưu trữ (không phải hàm)?

  5. PG gem sẽ không cài đặt trong ứng dụng Rails:Gem ::Ext ::BuildError:ERROR:Không tạo được phần mở rộng gốc của gem