问题描述
您好,我很困惑我的代码涉及多处理的问题,如果有人可以帮助的话,将不胜感激。预先感谢。
我有一个名为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 (将#修改为@)