- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到了一个 Python (2.7) 函数,它接受 3 个字符串作为参数,并返回一个字典列表。由于项目的性质,我无法更改函数,它非常复杂,调用其他几个非标准 Python 模块并使用 psychopg2 查询 PostgreSQL 数据库。我认为是 Postgres 的功能导致了我的问题。
我想使用 multiprocessing 模块来加速调用函数数百次。我已经编写了一个“帮助程序”函数,以便我可以在我的函数中使用 multiprocessing.Pool(它只需要一个参数):
from function_script import function
def function_helper(args):
return function(*args)
我的主要代码是这样的:
from helper_script import function_helper
from multiprocessing import Pool
argument_a = ['a0', 'a1', ..., 'a99']
argument_b = ['b0', 'b1', ..., 'b99']
argument_c = ['c0', 'c1', ..., 'c99']
input = zip(argument_a, argument_b, argument_c)
p = Pool(4)
results = p.map(function_helper, input)
print results
我期待的是字典列表的列表,但是我收到以下错误:
Traceback (most recent call last):
File "/local/python/2.7/lib/python2.7/site-packages/variantValidator/variantValidator.py", line 898, in validator
vr.validate(input_parses)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/validator.py", line 33, in validate
return self._ivr.validate(var, strict) and self._evr.validate(var, strict)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/validator.py", line 69, in validate
(res, msg) = self._ref_is_valid(var)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/validator.py", line 89, in _ref_is_valid
var_x = self.vm.c_to_n(var) if var.type == "c" else var
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/variantmapper.py", line 223, in c_to_n
tm = self._fetch_TranscriptMapper(tx_ac=var_c.ac, alt_ac=var_c.ac, alt_aln_method="transcript")
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/decorators/lru_cache.py", line 176, in wrapper
result = user_function(*args, **kwds)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/variantmapper.py", line 372, in _fetch_TranscriptMapper
self.hdp, tx_ac=tx_ac, alt_ac=alt_ac, alt_aln_method=alt_aln_method)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/transcriptmapper.py", line 69, in __init__
self.tx_identity_info = hdp.get_tx_identity_info(self.tx_ac)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/decorators/lru_cache.py", line 176, in wrapper
result = user_function(*args, **kwds)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 353, in get_tx_identity_info
rows = self._fetchall(self._queries['tx_identity_info'], [tx_ac])
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 216, in _fetchall
with self._get_cursor() as cur:
File "/local/python/2.7/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 529, in _get_cursor
cur.execute("set search_path = " + self.url.schema + ";")
File "/local/python/2.7/lib/python2.7/site-packages/psycopg2/extras.py", line 144, in execute
return super(DictCursor, self).execute(query, vars)
DatabaseError: SSL error: decryption failed or bad record mac
和:
Traceback (most recent call last):
File "/local/python/2.7/lib/python2.7/site-packages/variantValidator/variantValidator.py", line 898, in validator
vr.validate(input_parses)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/validator.py", line 33, in validate
return self._ivr.validate(var, strict) and self._evr.validate(var, strict)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/validator.py", line 69, in validate
(res, msg) = self._ref_is_valid(var)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/validator.py", line 89, in _ref_is_valid
var_x = self.vm.c_to_n(var) if var.type == "c" else var
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/variantmapper.py", line 223, in c_to_n
tm = self._fetch_TranscriptMapper(tx_ac=var_c.ac, alt_ac=var_c.ac, alt_aln_method="transcript")
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/decorators/lru_cache.py", line 176, in wrapper
result = user_function(*args, **kwds)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/variantmapper.py", line 372, in _fetch_TranscriptMapper
self.hdp, tx_ac=tx_ac, alt_ac=alt_ac, alt_aln_method=alt_aln_method)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/transcriptmapper.py", line 69, in __init__
self.tx_identity_info = hdp.get_tx_identity_info(self.tx_ac)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/decorators/lru_cache.py", line 176, in wrapper
result = user_function(*args, **kwds)
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 353, in get_tx_identity_info
rows = self._fetchall(self._queries['tx_identity_info'], [tx_ac])
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 216, in _fetchall
with self._get_cursor() as cur:
File "/local/python/2.7/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/local/python/2.7/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 526, in _get_cursor
conn.autocommit = True
InterfaceError: connection already closed
有人知道什么可能导致 Pool 函数出现这样的行为,而在我尝试过的其他示例中使用它似乎很简单吗?如果这还不够继续下去,谁能告诉我如何找到问题的根源(这是我第一次使用别人的代码)?或者,还有其他方法可以使用多处理模块调用该函数数百次吗?
谢谢
最佳答案
我认为可能发生的情况是您的连接对象被所有工作人员使用,当一名工作人员完成其所有任务时它关闭连接,同时其他工作人员仍在工作并且连接关闭所以当其中一个工作人员工作人员尝试使用已经关闭的数据库。
关于postgresql - 在查询 PostgreSQL 数据库的黑盒函数上使用 multiprocessing.Pool 时为 "InterfaceError: connection already closed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44724377/
将两个表链接在一起并尝试创建一个包含外键的表单。 sqlalchemy.exc.InterfaceError InterfaceError:无法打印的 InterfaceError 对象 数据库链接完
最近,我使用Python和Scrapy从博客中爬取“标题”等文章信息。不使用数据库,结果很好/符合预期。但是,当我使用 SQLalchemy 时,我收到以下错误: InterfaceError:(sq
我尝试使用 pyodbc 将 Python 连接到 MS Access 数据库,但每次都会收到以下错误: pyodbc.InterfaceError: ('IM002', '[IM002] [Micr
我需要在 spark 作业中执行更新查询。我正在尝试下面的代码。但面临问题。 import cx_Oracle def query(sql): connection = cx_Oracle.c
我正在使用 Flask 和 PyMySQL 构建一个简单的应用程序,并使用 JMeter 进行负载测试以用于学术目的。它已经接收请求并发送响应。但是当我发送多个请求时,它会在几个请求(有时只有一个请求
从 homebrew python 切换到 anaconda python 后,之前可以正常工作的代码现在出现以下错误: mysql.connector.errors.InterfaceError:
在我的 Django + Postgresql 设置中加载页面时,我偶尔会遇到此错误,但并非总是如此: 连接中的psycopg2 InterfaceError: only protocol 3 sup
我正在使用 psycopg2 访问 Django 项目中的 postgresql 数据库。执行一个大约需要 30 分钟的函数,然后将结果保存到数据库中时出现如下异常 self.connection.a
我正在尝试为支持 MySQL 的 Django 项目构建自定义 JSON 字段。这是我的模型: from __future__ import unicode_literals from django.
我正在尝试将python 2.7脚本连接到Azure SQL数据仓库。 编码部分已经完成,测试案例在我们的开发环境中工作。我们正在MacOS X中使用Python 2.7进行编码,并通过ctds连接到
我似乎无法解决这里的问题。我正在按照 description in the docs 为我的 channel 消费者编写测试.我通常会使用 Django 默认的 unittest,但由于 Channe
我正在紧张地处理这个问题,准备做一些肮脏的事情。 我正在运行 nginx + django + postgresql。在我尝试测试网站并打开页面的一半时间里,我得到以下信息: Python 2.
我最近在我正在开发的工具中实现了 django。在做一些测试时,我遇到了 django.db.utils.InterfaceError: (0, '') 错误。我读到这可能是一个全局游标问题,但我只是
我尝试从 Python 代码连接到 Azure 云上的 MS-SQL 数据库,如下所示。 import pyodbc connect_str = "Driver={ODBC Driver 17 for
我正在使用 psycopg2 从 python 访问 postgresql 数据库。当我尝试为最短路径运行 pgrouting 函数“pgr_astar”时,我收到错误 cur = db.cursor
我有一个简单的 python 脚本,它导入 cx_Oracle,然后进行 sql 查询。从 python 运行时一切正常。我的计算机上安装了 Oracle SQL Developer,它是免费的。 然
我已经包含了 gem , dbd-mysql (0.4.4) dbi (0.4.5) mysql (2.8.1) 当我运行以下代码时在 Rails 控制台上, require 'rubygems' r
我在运行Django项目时遇到了这样的问题(一周前项目运行正常,今天发现这个问题):我的 Django 版本是 1.10.2,python 版本是 3.5.2,Ubuntu 14.0 上的 MySQL
从 v2.4.7 升级到 Peewee 2.6.3 后,迭代选择查询的结果时会弹出以下错误。 编辑:这似乎是与 create_or_get 方法的使用相关的错误。 File "./script.py
我在 forms.py 中使用QuerySelectField,提交时出现以下错误: InterfaceError: (InterfaceError) Error binding parameter
我是一名优秀的程序员,十分优秀!