…long-running clients you have to either: 1) use JRuby + thread synchronization primitives, 2) Eventmachine, 3) Celluloid.
I don't want to synchronize threads (1) nor write evented code (2). Celluloid is using fairly decent concurrency model (agents) and is closest to give me the expected productivity/pleasure ratio. But still, I can write the same amount of lines of code in Go and handle 100x more simultaneous clients using much less memory.
Having said that I'm not saying it's …
…developed a little fetcher daemon named Fido, a fully concurrent e-mail fetcher backed by EventMachine. Fido maintains a queue of all configured IMAP accounts. The main loop hands out these mail accounts to a configurable number of worker processes. When Fido finishes the queue it adds all accounts back and starts over.
The workers usually spend a long time waiting for something to happen on their connection. Fetching is sped up by spawning a large number of workers.
If all the workers …
Skip slow tests
Sometimes one or two tests hold up the entire suite, usually these are either regression tests or tests which should be a regression test. One example could be a class which unpacks a zip file and imports its contents into the application. Even when you use a smaller zip bundle for the test it will probably take at least a few seconds.
As a final solution you could consider …
It uses the fetch the app's name and number of web dynos . It takes a hint for concurrency per dyno based on the WEB CONCURRENCY config var.when you connect to the page to
All of the metrics are derived from 60 seconds …
The final option for consideration is em-resque - an EventMachine based worker system. There is a great blog post explaining the problems and reasons behind this gem's creation - we're just about to give it a go, so hopefully it will be as good as it looks.
So far, a standardworker in our case can process 120 jobs per minute, the resque-jobs-per-fork set at 500 jobs per fork can manage about 300 jobs per minute (average) while running with no forking (using …
…years working to advance and improve puma . It's my belief that puma and sidekiq are a new breed of Ruby infrastructure that can dramatically improve your application's efficiency — should you decide to take advantage of them.'s efficiency through concurrency, first with EventMachine and fibers and now with and multithreading so it shouldn't surprise you that my #1 pick is
puma is a pure Ruby,web server and drops right …
And a happyto you as well.
Colour Schemes - A whole pile of 'em for 2 or .
Zuck - to use 's ads .
Cramp - web application framework built on top of EventMachine.
Skitch and - Looks like they're actually listening to user feedback. Amazing. : A from Lang
Describing a slide deck with 'developers need to stop using EventMachine. It's the wrong direction' is a sure-fire way to get attention :-)
Growing a : How We Made Deploy Fast Again
The developers atbrought their deploy time down from 10 minutes to 50 seconds. How? You gotta read for that.
Watching and Listening
Aaron on ' Rails 4 and the of Web'
Earlier this month at Aloha Ruby Conference 2012…
Not up to speed with EventMachine yet? No worries,kicks off a series of blog posts introducing us to the popular event-processing library (which, incidentally, hit version 1.0 just this month.)
An Experiment in of Ruby: FastRuby
(of fame) shows off an experiment in doing static compilation of to . Short and sweet and leans on JRuby…