sql >> データベース >  >> RDS >> Mysql

並列プロセスを作成するためのRubyonRailsでのフォークの使用

    問題は、フォークされたプロセスが、ファイル記述子などの親のリソースの一部を継承することです。特に、そのような共有リソースの1つは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. MAMPに含まれているMySQLには設定ファイルが含まれていませんか?

    2. ORDER BY、LIMIT、および複数のテーブルを使用したUPDATE構文

    3. SQLiteインデックス

    4. Postgresql:パスワードを使用したpsql実行のスクリプティング