Giter Club home page Giter Club logo

Comments (10)

grosser avatar grosser commented on June 23, 2024

Try and see if it works, I had lots of issues without this, maybe it's better in AR3,
for forged processes it definetly has to happen.

You can reconnect once per fork, but thats also tricky :)

from parallel.

phene avatar phene commented on June 23, 2024

I am also having a lot of issues using the Parallel gem and ActiveRecord, and without a decent explanation from you as to why reconnection for every iteration is necessary, I'm forced to conclude that this gem is unsafe with ActiveRecord.

from parallel.

grosser avatar grosser commented on June 23, 2024

conclude what you want, I don't have any sla's :D

afaik you have to reconnect affter forking, not sure about threading, but I saw a lot of weird issues so far, so I always use forking + reconnect

from parallel.

grosser avatar grosser commented on June 23, 2024

whoops wrong button

from parallel.

grosser avatar grosser commented on June 23, 2024

if you can digg down and find any issue let me know, or add it to the readme
even having some reproducable failing test-case would be nice

from parallel.

phene avatar phene commented on June 23, 2024

http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/ConnectionPool.html seems to indicate that though ActiveRecord is thread safe, you have to manage the connection pool manually. This seems like something that this gem could/should support.

from parallel.

grosser avatar grosser commented on June 23, 2024

This gem should ideally not have to worry about issues of other gems,
if you can fix it without hacking AR and making it opt-in/or a pasteable snippet that would be great :)

from parallel.

phene avatar phene commented on June 23, 2024

I found one possible solution using ActiveRecord::Base.connection_pool.with_connection, and I suggest you add it (or a better example) to the readme:

Parallel.each(Message.where(some_condition).all, :in_threads => 8) do |message|
  ActiveRecord::Base.connection_pool.with_connection do
    message.update_attribute(:some_attribute, some_value)
  end
end

from parallel.

grosser avatar grosser commented on June 23, 2024

Added it to the readme, let's see if it works :)

from parallel.

chamnap avatar chamnap commented on June 23, 2024

It works well for me with mongoid.
Mongoid v2: Mongoid.reconnect!
Mongoid v3: Mongoid.default_session.disconnect

from parallel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.