栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

创建数据库连接并维护多个进程(多处理)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建数据库连接并维护多个进程(多处理)

尝试在Consumer构造函数中隔离连接的创建,然后将其交给执行的Task:

import multiprocessing, time, psycopg2class Consumer(multiprocessing.Process):    def __init__(self, task_queue, result_queue):        multiprocessing.Process.__init__(self)        self.task_queue = task_queue        self.result_queue = result_queue        self.pyConn = psycopg2.connect("dbname='geobase_1' host = 'localhost'")        self.pyConn.set_isolation_level(0)    def run(self):        proc_name = self.name        while True: next_task = self.task_queue.get() if next_task is None:     print 'Tasks Complete'     self.task_queue.task_done()     break  answer = next_task(connection=self.pyConn) self.task_queue.task_done() self.result_queue.put(answer)        returnclass Task(object):    def __init__(self, a):        self.a = a    def __call__(self, connection=None):     pyConn = connection        pyCursor1 = pyConn.cursor()        procQuery = 'UPDATe city SET gid_fkey = gid FROM country  WHERe ST_within((SELECt the_geom FROM city WHERe city_id = %s), country.the_geom) AND city_id = %s' % (self.a, self.a)        pyCursor1.execute(procQuery)        print 'What is self?'        print self.a        return self.a    def __str__(self):        return 'ARC'    def run(self):        print 'IN'


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/653495.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号