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

Sử dụng fork trong Ruby on Rails để tạo quá trình song song

Vấn đề là một quá trình được phân tách kế thừa một số tài nguyên của cha mẹ của nó, chẳng hạn như các bộ mô tả tệp của nó. Đặc biệt, một tài nguyên được chia sẻ như vậy là kết nối MySQL. Khi quy trình con kết thúc quá trình gửi email và thoát ra, nó sẽ đóng kết nối MySQL, kết nối này sẽ đóng kết nối quy trình mẹ.

Nếu bạn tiếp tục đi theo con đường này (và nó được tạo ra với những nét tinh tế tương tự) thì bạn cần phải làm điều gì đó như sau:

# Clear existing connections before forking to ensure they do not get inherited.
::ActiveRecord::Base.clear_all_connections! 

fork do
  # Establish a new connection for each fork.
  ::ActiveRecord::Base.establish_connection 
  
  # The rest of the code for each fork...
end

Bạn sẽ phải làm điều tương tự với các dịch vụ như memcached hoặc mongodb nếu bạn sử dụng những dịch vụ đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thực thi một thủ tục được lưu trữ với con trỏ trong PHP

  2. Còn gì tốt hơn - nhiều bàn nhỏ hay một bàn lớn?

  3. MySQL:Chỉ trả lại tin nhắn cuối cùng trong bảng tin nhắn hội thoại / phẳng

  4. lỗi khóa ngoại mysql # 1452

  5. Tên bảng phân biệt chữ hoa chữ thường MySQL trên MacOS với hệ thống tệp phân biệt chữ hoa chữ thường