我使用chef服务器,配置几个不同的节点/环境。在
当使用pychef api请求env
属性时,连续几次(当使用python服务器调用chef服务器刷新web页面时)im得到ChefServerNotFoundError
(前几次没问题,第三次出现异常)
我猜这台服务器上有某种防火墙/防ddos攻击,但我不知道如何编辑这些设置。在
有人知道吗?在
这是方法的一部分(调用3次并引发异常):
env_nodes = Search('node').query('chef_environment: {0}'.format(env_name))
nodes_dict = {}
for n in env_nodes:
node = Node(n['name'])
nodes_dict[node.name] = node['ipaddress']`
这是回溯:
^{pr2}$
在webapp或其他多线程系统中使用PyChef时,应该显式地传递API对象。有一个系统可以跟踪threadlocal中的默认API目标,以便简化简单的脚本,但回想起来,这可能是一个错误,因为它会导致这些令人困惑的问题。这将是该代码的更好版本,也更快:
其中
api
是chef.autoconfigure()
或其他ChefAPI对象的返回值。在相关问题 更多 >
编程相关推荐