Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Używanie forka w Ruby on Rails do tworzenia równoległego procesu

Problem polega na tym, że rozwidlony proces dziedziczy niektóre zasoby swojego rodzica, takie jak deskryptory plików. W szczególności jednym z takich współdzielonych zasobów jest połączenie MySQL. Kiedy proces potomny zakończy wysyłanie wiadomości e-mail i wyjdzie, zamyka połączenie MySQL, które zamyka połączenie procesów nadrzędnych.

Jeśli pójdziesz dalej tą ścieżką (i jest ona pełna podobnych subtelności), musisz zrobić coś takiego:

# 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ędziesz musiał zrobić podobną rzecz z usługami takimi jak memcached lub mongodb, jeśli z nich korzystasz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ciągłe przesyłanie strumieniowe losowego dźwięku z bazy danych

  2. Jak zrobić paginację z mybatis?

  3. mysql ZADEKLARUJ PODCZAS poza procedurą składowaną w jaki sposób?

  4. Ustawianie zmiennych konfiguracyjnych MySQL – MySQL 5.7 vs MySQL 8.0

  5. Jak połączyć się ze zdalną bazą danych MySQL przez SSL za pomocą Play Framework?