0
我有一个服务,接收任务,并在完成后实例化一个名为SubmitPy2neo的类,它继承了Thread类,以便在python中使用py2neo将数据插入到我的neo4j数据库。对于每个任务,我创建一个单独的线程来平行并将数据更快地插入neo4j数据库。 但是当事情变成多线程时,我得到这个错误弹出py2neo插入多线程
异常KeyError:(u'http://graphdb_server/db/data/relationship/123123')被忽略。
任何想法如何使用py2neo以多线程方式将这些任务插入到Graph数据库?
的多线程类是以下
class Send_GraphDatabase(threading.Thread):
def __init__(self, JobNumber, whois=None, dig=None, hosts=None, extra_field=None):
threading.Thread.__init__(self)
self.JobNumber = JobNumber
self.whois = whois
self.dig = dig
self.hosts = hosts
self.extra_field = extra_field
def run(self):
gd = GraphDB_Driver(self.JobNumber,self.extra_field)
gd.StoreRoot()
gd.StoreURLs()
gd.externalStoreWappalyzer()
gd.StoreFiles()
if self.whois: gd.StoreWhois(self.whois)
if self.dig: gd.StoreDig(self.dig)
if self.hosts: gd.StoreHosts(self.hosts)
每当一个任务完了我创建这个类的一个实例,并给它job_number这个作业提交到图形数据库
内各存储功能我做类似下面的
n = Node("LABEL", key1=val1,key2=val2)
self.g.create(n)
r = Relationship(src, "HAS", n)
self.g.create_unique(r)
东西,所以我只是用创建graphdb交互()创建节点和CREATE_独特的创建关系
一些更多的细节和你的班级会有所帮助。 –
@MartinPreusse完成 –
该代码无助于理解错误。 –