One problem in the code: it kinda seems you want to receive lines, but you're 
overriding dataReceived instead of lineReceived in RedisWorkProtocol. At the very minimum you shouldn&#39;t assume dataReceived is called with the exact bytes that were written on the other side.<br><br>More importantly, I assume redis-py is blocking. Calling a blocking API from Twisted will block the reactor, preventing any other code from running until it the API call returns. As such it means you can&#39;t have two queries to redis running at the same time, unless you use something like deferToThread, or a redis client that supports Twisted directly.<br>
<br>-- <br>Itamar Turner-Trauring, Future Foundries LLC<br><a href="http://futurefoundries.com/" target="_blank">http://futurefoundries.com/</a> — Twisted consulting, training and support.<br><br>