37,719
社区成员
发帖
与我相关
我的任务
分享
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from multiprocessing import Process, JoinableQueue, Pool
import time
import os
import MySQLdb
os.environ["PYTHONOPTIMIZE"] = '1'
def proxy(cls_instance):
return cls_instance.process()
class ProdConsumProc(object):
def __init__(self, queue,name):
self.queue = queue
self.name = name
def producter(self):
print "[%s]dealhour producter:begin...." % str(self.name)
for row in range(10):
self.queue.put(row)
time.sleep(1)
self.queue.join()
def consumer(self):
print "[%s]dealhour consumer:begin...." % str(self.name)
while True:
item = self.queue.get()
print "[%s]consumer process username:%s" % (str(self.name),item)
time.sleep(1)
self.queue.task_done()
class BatchProc(object):
def __init__(self, conscount,name):
self.cusumnum = conscount
self.name = name
def process(self):
taskqueue = JoinableQueue()
for i in range(self.cusumnum):
print "%s start consumer:begin...." % str(self.name)
consumerservice = ProdConsumProc(taskqueue, self.name)
consumer_p = Process(target=consumerservice.consumer, args=())
consumer_p.daemon = True
consumer_p.start()
print "%s start producter:begin...." % str(self.name)
productservice = ProdConsumProc(taskqueue, self.name)
productservice.producter()
if __name__ == '__main__':
pool = Pool(processes=3)
for num in range(2):
_kls = BatchProc(5, num)
# pool.apply_async(self.func, args=(num,))
pool.apply_async(proxy, args=(_kls, ))
time.sleep(10)
pool.close()
pool.join()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from multiprocessing import Process, JoinableQueue, Pool
import time
import os
import MySQLdb
os.environ["PYTHONOPTIMIZE"] = '1'
def proxy(cls_instance):
return cls_instance.process()
class ProdConsumProc(object):
def __init__(self, queue,name):
self.queue = queue
self.name = name
self.conn = MySQLdb.connect(host="173.23.2.16", user="user", passwd="1qsx", db="icp3.0", charset="utf8")
def producter(self):
print "[%s]dealhour producter:begin...." % str(self.name)
for row in range(10):
self.queue.put(row)
time.sleep(1)
self.queue.join()
def consumer(self):
print "[%s]dealhour consumer:begin...." % str(self.name)
while True:
item = self.queue.get()
print "[%s]consumer process username:%s" % (str(self.name),item)
time.sleep(1)
self.queue.task_done()
class BatchProc(object):
def __init__(self, conscount,name):
self.cusumnum = conscount
self.name = name
def process(self):
taskqueue = JoinableQueue()
for i in range(self.cusumnum):
print "%s start consumer:begin...." % str(self.name)
consumerservice = ProdConsumProc(taskqueue, self.name)
consumer_p = Process(target=consumerservice.consumer, args=())
consumer_p.daemon = True
consumer_p.start()
print "%s start producter:begin...." % str(self.name)
productservice = ProdConsumProc(taskqueue, self.name)
productservice.producter()
if __name__ == '__main__':
pool = Pool(processes=3)
for num in range(2):
_kls = BatchProc(5, num)
# pool.apply_async(self.func, args=(num,))
pool.apply_async(proxy, args=(_kls, ))
time.sleep(10)
pool.close()
pool.join()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from multiprocessing import Process, JoinableQueue, Pool
import time
import os
import MySQLdb
os.environ["PYTHONOPTIMIZE"] = '1'
def proxy(cls_instance):
return cls_instance.process()
class ProdConsumProc(object):
def __init__(self, queue,name):
self.queue = queue
self.name = name
#self.conn = MySQLdb.connect(host="173.23.2.16", user="user", passwd="1qsx", db="icp3.0", charset="utf8")
def producter(self):
self.conn = MySQLdb.connect(host="173.23.2.16", user="user", passwd="1qsx", db="icp3.0", charset="utf8")
print "[%s]dealhour producter:begin...." % str(self.name)
for row in range(10):
self.queue.put(row)
time.sleep(1)
self.queue.join()
def consumer(self):
self.conn = MySQLdb.connect(host="173.23.2.16", user="user", passwd="1qsx", db="icp3.0", charset="utf8")
print "[%s]dealhour consumer:begin...." % str(self.name)
while True:
item = self.queue.get()
print "[%s]consumer process username:%s" % (str(self.name),item)
time.sleep(1)
self.queue.task_done()
class BatchProc(object):
def __init__(self, conscount,name):
self.cusumnum = conscount
self.name = name
def process(self):
taskqueue = JoinableQueue()
for i in range(self.cusumnum):
print "%s start consumer:begin...." % str(self.name)
consumerservice = ProdConsumProc(taskqueue, self.name)
consumer_p = Process(target=consumerservice.consumer, args=())
consumer_p.daemon = True
consumer_p.start()
print "%s start producter:begin...." % str(self.name)
productservice = ProdConsumProc(taskqueue, self.name)
productservice.producter()
if __name__ == '__main__':
pool = Pool(processes=3)
for num in range(2):
_kls = BatchProc(5, num)
# pool.apply_async(self.func, args=(num,))
pool.apply_async(proxy, args=(_kls, ))
time.sleep(10)
pool.close()
pool.join()