# Servolux 0.8.0

**URL:** <https://www.ruby-forum.com/t/servolux-0-8-0/178876>\
**Category:** Ruby\
**Created:** [November 12, 2009, 10:03pm UTC](https://www.ruby-forum.com/t/servolux-0-8-0/178876 "2009-11-12T22:03:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![timperrett](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c5a1d2/32.png) [@timperrett](https://www.ruby-forum.com/u/timperrett)\
**Post date:** [November 12, 2009, 10:03pm UTC](https://www.ruby-forum.com/t/servolux-0-8-0/178876/1 "2009-11-12T22:03:12Z")

</div>

Serv-O-Lux version 0.8.0  
by Tim P.  
[RubyGems.org | your community gem host](http://gemcutter.org/gems/servolux)

== DESCRIPTION

Serv-O-Lux is a collection of Ruby classes that are useful for daemon  
and  
process management, and for writing your own Ruby services. The code is  
well  
documented and tested. It works with Ruby and JRuby supporing both 1.8  
and 1.9  
interpreters.

The biggest addition is a Preforking Worker Pool that can be used to  
process  
jobs on multiple CPUs using child processes. See the beanstalk example  
for a  
quick overview:

> <https://github.com/TwP/servolux/blob/master/examples/beanstalk.rb>

== CHANGES

- 2 Major Enhancements
  - Preforking worker pool

- 1 Minor Enhancement
  - Default return value for Piper#gets (useful for detecting timeouts)

- 2 Bug Fixes
  - The piper is now using a socket pair for bidirectional communication
  - The piper now defaults to a blocking mode (nil timeout)

---

<div class="post-metadata">

**Author:** ![timperrett](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c5a1d2/32.png) [@timperrett](https://www.ruby-forum.com/u/timperrett)\
**Post date:** [November 12, 2009, 11:23pm UTC](https://www.ruby-forum.com/t/servolux-0-8-0/178876/2 "2009-11-12T23:23:24Z")

</div>

On Nov 12, 2009, at 2:02 PM, Tim P. wrote:

> Serv-O-Lux version 0.8.0  
> by Tim P.  
> [RubyGems.org | your community gem host](http://gemcutter.org/gems/servolux)

Just to follow up to my own post, a small bugfix release has been  
issued: servolux v0.8.1

When oh when will I learn “test first, THEN release”. You can see the  
bugfix changes on the GitHub repository …

> <https://github.com/TwP/servolux/blob/master/History.txt>

Blessings,  
TwP

---

<div class="post-metadata">

**Author:** ![timperrett](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c5a1d2/32.png) [@timperrett](https://www.ruby-forum.com/u/timperrett)\
**Post date:** [November 13, 2009, 12:29am UTC](https://www.ruby-forum.com/t/servolux-0-8-0/178876/3 "2009-11-13T00:29:32Z")

</div>

Tim,

On Thu, Nov 12, 2009 at 4:02 PM, Tim P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> - 1 Minor Enhancement  
> Â \* Default return value for Piper#gets (useful for detecting timeouts)
> - 2 Bug Fixes  
> Â \* The piper is now using a socket pair for bidirectional communication  
> Â \* The piper now defaults to a blocking mode (nil timeout)

This is awesome! I am particularly interested in the Preforking Worker  
Pool.

Thanks so much,  
Michael G.
