web2py - 这是线程安全的

时间:2015-07-22 22:18:01

标签: python web2py

我对线程安全与非线程安全操作并不是很了解,但我想知道我看到的问题是否可能是因为这个问题。

在我的模块目录中,我创建了一个定义了类的模块。

然后在db.py中我有一个_after_insert触发器,如下所示:

db.workorder._after_insert.append(lambda s,f: workorderAfterInsert(s,f))

在我的_after_insert触发器中,我从我的模块中实例化了这样的类:

import workorder.sequencer as sequencer

workorderId = id
wo = db.workorder(workorderId)

sequencer = sequencer.Sequencer(workorder_id=workorderId, db=db)
sequencer.build_bom()
sequencer.sequence()
sequencer.save_sequenced_workorder()

db.commit()

我不确定如何描述它,但我发现在执行sequencer.sequence()时出现随机错误。我唯一想到的是存在线程安全或并发问题。

如果有人能告诉我这是否安全(或明智),我真的很感激。任何意见都将不胜感激。

-Jim

1 个答案:

答案 0 :(得分:0)

我的问题是我将变量定义为类变量而不是实例变量。改变了,现在一切正常。