README.md

TCPLock

Background

TCPLock grows out of a problem I had working at Attachments.me. We use OpenOffice's UNO web-service to convert between various document formats. Over time, OpenOffice leaks memory and locks up.

A potential solution is to restart OpenOffice periodically. Here's the problem, at any given time many clients are connecting to OpenOffice for conversion. This makes restarting the service an unsafe operation.

My initial attempt to solve this problem was to use Redis as a semaphore, this turned out to be problematic.

My friend Josh suggested an elegant solution, a thin proxy layer that acts as a mutex.

I extended on this concept somewhat, adding functionality specific to my OpenOffice problem, and TCPLock was born.

Contributors

@benjamincoe: Street walking cheetah with a heart full of napalm. CTO at Attachments.me.