Comments (5)
I wish I had any idea where to start. What's the number of messages your seeing? Please also run the agents with debug log mode so you can at least see what the last of their activities is. I'd like to get Nanite a lot more bullet-proof in that regard.
Also, what EventMachine and AMQP version are you using?
from nanite.
Whoops, forgot to mention the particulars:
AMQP 0.6.5
EM 0.12.10 (same happens with 0.12.8)
Happens when I push through a group of 200 or so jobs, with prefetch set at 1, so only one job is on the agent at a time. It doesn't seem to stall on any particular piece of code that I can discern. Additionally, strace shows absolutely 0 activity outside of the SIGVTALRM syscalls, even though the CPU is pegged, which is beyond me. From my understanding, this means all threads have finished. This is why I think there is something odd going on with Nanite/AMQP/EM, because it's inconsistent and they think work is done before it is done.
I have been reading up on ltrace and more detailed strace use, so I'll have a bit more something to go off here soon I think.
from nanite.
I'll try to set up something to fire similar jobs. Maybe I can reproduce it.
from nanite.
No rush, super busy for next couple weeks and it's working great in production. Been running couple thousand jobs a day through it with no hiccups, so it's just an issue of pushing too much of the same job (possibly, I do batches of same jobs when reprocessing failed jobs). I am thinking it may be an issue with net/http at this point (no solid reason why) so will try em/http since EM is already loaded. I'll let you know the results and go from there.
On a possibly unrelated note: when stracing ruby processes, I noticed a TON of ENOENT exceptions for required library files as it checks through the namespaces for the rb file. Meaning for example, it will look for parser.rb in the nanite gems directory, then doesn't find it and checks in the AMQP gems directory and on down until it finds optparser in ruby core lib directories. These libraries are checked for during execution of every job and probably add a great deal to the overhead of running a pile of jobs. No idea if this is a ruby or a nanite issue at this point (ruby is my guess), but it's also on my list of things to investigate.
from nanite.
We're using a lot of net/http as well, and we'll replace it with em-http based code eventually, since there's always a risk of blockage.
Keep me posted.
About the requiring stuff, I'd say that's normal.
from nanite.
Related Issues (20)
- add json as a gem dependency HOT 1
- prefetch option only available for mapper, not for agent HOT 4
- Logging in mapper HOT 4
- comparison of Array with Array failed (ArgumentError) HOT 16
- How to initiate a sync request? HOT 1
- Gracefully stopping agents & Timeouts HOT 6
- nanite does not startup in ruby1.9 HOT 5
- Seemingly random nil value for nanite_attributes in cluster.rb:169 HOT 1
- Nanite and multiples machines HOT 2
- rails/patch_json.rb messes up serialization in rails 2.3.x HOT 1
- Problem with nanite + webrick HOT 7
- RabbitMQ 1.8 support HOT 3
- When removing an agent from the redis store,redis throws an 'invalid function' HOT 1
- rake gem fails with "no such file to load -- spec/rake/spectask" HOT 2
- Compatibility with amqp 0.8.x gem
- load average / status function not updated with heartbeat messages when using Redis HOT 1
- Client-agent requests gets multiplicated HOT 10
- eventmachine not initialized: evma_send_data_to_connection (RuntimeError) HOT 10
- What environment are you guys using? HOT 3
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 nanite.