Skip to content
Dotan J. Nahum edited this page Oct 12, 2013 · 20 revisions

Sneakers is a background-job processing framework based on RabbitMQ.

It uses a hybrid process-thread model where many processes are spawned (like Unicorn) and many threads are used per process (like Puma), so all your cores max out and you have best of both worlds.

While running in production it has the same rolling update / hot reload semantics of Unicorn - you can also scale up workers live, scale down, and hot-reload your configuration.

It also has built in production-sane metrics, and logging.

While developing your solutions, it allows flexible configuration and pluggable alternative implementations for many of its internals.

You can either go and explore https://github.com/jondot/sneakers/wiki/_pages or follow this golden path:

By now you are probably wondering how to handle production.

And for some more technicalities (or performance),

  • Auto scaling will show you a useful Sneakers feature with which you can expand and contract your worker pool.
  • Running with Sneakers for those of you wanting to integrate a Sneakers runner programmatically.