Speaking on using this with multiprocessing. AFAIK Twisted does not work well with multiprocessing – the details are not on top of my head.
So the simple way to make this work on a multi-core machine is to wrap the whole thing (including imports) into a function and spawn a pool of processes BEFORE you import Twisted, initialize the reactor, etc.