Comments (10)
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.
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.
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.
whoops wrong button
from parallel.
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.
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.
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.
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.
Added it to the readme, let's see if it works :)
from parallel.
It works well for me with mongoid.
Mongoid v2: Mongoid.reconnect!
Mongoid v3: Mongoid.default_session.disconnect
from parallel.
Related Issues (20)
- Memory leak / GC? HOT 2
- Flaky test in ./spec/parallel_spec.rb:478
- Sidekiq integration HOT 3
- [Feature Request] Need access to the progress bar object HOT 2
- Rails 6.0.3: *** stack smashing detected *** HOT 3
- Process.fork is not supported by this Ruby HOT 7
- What is the recomended way to implement a semaphore or lock using this library? HOT 1
- Parallel causes a net slowdown HOT 6
- The problem with Parallel Gem and The MySQL server is running with the --read-only HOT 2
- How is it to more simply using that ActiveRecord::Base.connection.reconnect? HOT 2
- About parallel connection logic HOT 1
- ZeroDivisionError: float division by zero HOT 1
- Sidekiq + Parallel performance issues HOT 1
- Hangs indefinitely when used with EventedFileUpdateChecker HOT 5
- Use '{}' can't concat string properly HOT 1
- parallel groupby HOT 1
- net_http_args nil class exception HOT 2
- Segmentation fault HOT 10
- [feature] finish_in_order - process finish hook in the original order HOT 7
- looking for more high level documentation HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from parallel.