I am new to multiprocessing in Python. I have this below code which is very simple. It does not work though! It just prints the Start and End. It never prints the "Into Run". What am I missing? I am on Windows, Python 2.6
import logging, sys
from multiprocessing import Process
class ZincDataExtract(Process):
def __init__(self, sources=None):
Process.__init__(self)
if sources is None:
self.src = 'Everything'
else:
self.src = sources
def run(self):
print "Into Run: " + str(self.src)
sys.stdout.flush()
def main():
from datetime import datetime
cobDate = datetime.strptime('2013-11-29', '%Y-%m-%d').date()
logging.info("Start: " + datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
procs = []
sources='CRE,Mortgage,OGRE,RV2,TDR,Tiger,CIDW'
p1 = Process(target=ZincDataExtract, args=(sources))
procs.append(p1)
p1.start()
sources='RAM'
p2 = Process(target=ZincDataExtract, args=(sources))
procs.append(p2)
p2.start()
for p in procs:
p.join()
logging.info("End: " + datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
run()is executed onstart().