my life

day to day

Archive for November 10th, 2008

HOWTO Install Starling

Monday, November 10th, 2008

I was recently contacted by someone who got stuck setting up Starling and realized that the documentation is relatively sparse on setting up Starling. The process is easy once you know how Starling works on the inside, but not looking in.

To get started, I will assume you have ruby and ruby gems already installed. This will depend on your flavor of distribution, but should not be difficult and come standard on every modern version of Linux I’ve used.

run:

gem install starling

Create the Starling queue directory in /var/spool/starling

Start staring with these minimum set of arguments:

/usr/bin/starling -d -h $HOST -p $PORT \ -P /var/run/starling/starling.pid

Also, if you’ll be running Starling in a PHP environment, make sure your version doesn’t have the EOL bug described in my post: http://osterman.com/wordpress/2008/07/18/starling-protocol-bug-in-stats-response

Also, note that Starling creates a queue file for each key verbatim. So if a key is, ‘namespace/something’, then Starling will fail to do the set if the ‘namespace’ directory does not exist under the /var/spool/starling directory. You can also just not use ‘/’ in your keys.

Also, note that Starling does not automatically purge the queue files after it rotates them. You’ll want to cron a job to run periodically to delete them. We run this nightly to purge files not accessed in 4 days:

find /var/spool/starling/ -type f -atime +4 -delete
by creating a file in /etc/cron.daily/starling with those contents.

All that being said, we’re still very happy with it and process about a million jobs a day.

Please let me know in the comments if your still having problems!

add to del.icio.us    add to technorati favs   email this