微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

共享的多处理值会触发NameError

如何解决共享的多处理值会触发NameError

您好,我很困惑我的代码涉及多处理的问题,如果有人可以帮助的话,将不胜感激。预先感谢。

我有一个名为x_calls = multiprocessing.value(i,200)

的值

这放在我的if __name__ == '__main__'代码段中。

我正在使用ratelimit包来控制每个函数可以通过共享的多处理值运行的次数

def on_open(ws,x_calls):
....


@limits(calls=x_calls,period=(float(x_calls) * (60 / 200)))
def on_message(ws,message,x_calls,end_time,lock):
....


@limits(calls=x_calls,period=(float(x_calls) * (60 / 200)))
def condition0(x_calls,List_of_stock_dicts,lock):
.... 

@limits(calls=x_calls,period=(float(x_calls) * (60 / 200)))
def condition1(x_calls,lock):
....

@limits(calls=x_calls,period=(float(x_calls) * (60 / 200)))
def condition2(x_calls,period=(float(x_calls) * (60 / 200)))
def condition3(x_calls,lock):
....

on_open和on_message函数是websocket的一部分,如果可能与此相关的话。

on_open“ x_calls”存在一个问题,即从外部作用域遮盖了名称“ x_calls”。但是对于我的on_message函数,我的“ x_calls”触发了一条错误消息。

“ @ limits(通话次数= x_calls,期间=(float(x_calls)*(60/200))) NameError:名称'x_calls'未定义”

任何帮助将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。