Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на fork в Ruby on Rails за създаване на паралелен процес

Проблемът е, че разклонения процес наследява някои от ресурсите на своя родител, като файловите дескриптори. По-специално един такъв споделен ресурс е връзката MySQL. Когато дъщерният процес завърши изпращането на имейли и излезе, той затваря връзката с MySQL, което затваря връзката на родителските процеси.

Ако продължите по този път (и той е изпълнен с подобни тънкости), тогава трябва да направите нещо подобно:

# 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

Ще трябва да направите подобно нещо с услуги като memcached или mongodb, ако ги използвате.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам име на променлива в SQL израз?

  2. MySQL / PHP - Намерете налични времеви слотове

  3. Не може да се свърже с mysql с 127.0.0.1

  4. Предупреждение:mysql_num_rows() очаква параметър 1 да бъде ресурс, булев, даден в /home/folder/public_html/folder/folder/login.php на ред 18

  5. NodeJS и mysql:изчакайте резултата от заявката