19 April 2014

The Ruby Reflector

Topic

EventMachine

  Source Favicon
On Odes of the Occult 1 month ago.
Email

…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 …

sickill.net Read
  Source Favicon
On Fingertips 8 months ago.
Email

…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 …

fngtps.com Read
  Source Favicon
On Fingertips 8 months ago.
Email

You can use comparable solutions for EventMachine, Mutex , Monitor , IO#select , and others.

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 …

fngtps.com Read
  Source Favicon
By Adam of Heroku 1 year ago.
Email

It's written in Ruby and uses the Sinatra streaming API (an EventMachine implementation of Server-sent Events ) to handle both the incoming log data and outgoing live updates to the user's browser.

It uses the Heroku API when you connect to the page to 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.

All of the metrics are derived from 60 seconds …

blog.heroku.com Read
  Source Favicon
Email

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 standard Resque worker 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 …

thewebfellas.com Read
  Source Favicon
By Mike Perham of over 1 year ago.
Email

…years working to advance and improve Ruby's efficiency through concurrency, first with EventMachine and fibers and now with Actors and multithreading so it shouldn't surprise you that my #1 pick is 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.

puma is a pure Ruby, Rack-based web server and drops right …

mikeperham.com Read
  Source Favicon
By Mike Gunderloy of A Fresh Cup over 1 year ago.
Email

And a happy Thanksgiving to you as well.

Colour Schemes - A whole pile of 'em for Sublime Text 2 or TextMate.

Zuck - Gem to use Facebook's ads API.

Cramp - Asynchronous Ruby web application framework built on top of EventMachine.

Skitch and Evernote: A Letter from Keith Lang - Looks like they're actually listening to user feedback. Amazing.

afreshcup.com Read
  Source Favicon
By Hongli Lai of Phusion Corporate Blog over 1 year ago.
Email

Goliath does not seem to have official support for JRuby thanks to the unknown status of EventMachine's Java support.

So the only options left were J2EE app servers such as JBoss, Tomcat, GlassFish and TorqueBox; as well as the recently developed Puma, which is almost pure Ruby.

Thanks to the new ApplicationPool and Spawner architecture in Phusion Passenger 4, we're now able to support JRuby with ease. Because a lot of code has been moved into C++, we no longer …

blog.phusion.nl Read
  Source Favicon
By Peter Cooper of Ruby Inside over 1 year ago.
Email

Describing a slide deck with ' Ruby developers need to stop using EventMachine. It's the wrong direction' is a sure-fire way to get attention :-)

Growing a Rails Application: How We Made Deploy Fast Again

The developers at PagerDuty brought their deploy time down from 10 minutes to 50 seconds. How? You gotta read for that.

Watching and Listening

Aaron Patterson on ' Rails 4 and the Future of Web'

Earlier this month at Aloha Ruby Conference 2012…

rubyinside.com Read
  Source Favicon
By Peter Cooper of Ruby Inside over 1 year ago.
Email

Ruby's EventMachine: Event-based Programming (Part 1)

Not up to speed with EventMachine yet? No worries, Phil Whelan 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 Static Compilation of Ruby: FastRuby

Charles Nutter (of JRuby fame) shows off an experiment in doing static compilation of Ruby to Java. Short and sweet and leans on JRuby…

rubyinside.com Read