我想/etc/hosts在"docker build"期间更新我的文件.
我在Dockerfile中添加了以下行,但它既没有更新/etc/hosts文件也没有给出任何错误.
RUN echo "192.168.33.11 mynginx" >> /etc/hosts
Run Code Online (Sandbox Code Playgroud)
我需要更新/etc/hosts.任何人都可以建议吗?
它说的是什么意思:
requests.exceptions.ConnectionError: None: Max retries exceeded with url: /myurl (Caused by None)
Run Code Online (Sandbox Code Playgroud)
具体来说,“无人引起”是什么意思?
我有一个python客户端和一个简单的clojure服务器在同一台计算机上运行。该服务器在具有4个线程的compojure + http-kit上运行。客户端通过多处理使用3到4个进程连续提交POST请求.3个工作进程池。
每隔一段时间,客户端就会死于上述ConnectionError。我在客户端设置了retries = 3,并将服务器上的队列大小增加到1000000,没有任何效果。
任何帮助,将不胜感激。
编辑:更正,我实际上是发送POST请求而不是GET。
实际脚本太大,无法在此处发布,但基本上它的工作原理是这样的。我有一个函数,它使用一些数据调用发布:
def post_func(my_data, config):
return requests.post(my_url, data=json.dumps({"data": my_data, "config": config}))
Run Code Online (Sandbox Code Playgroud)
包装multiprocessing.Pool的类:
class Executor(object):
def __init__(self, nprocs):
self.pool = Pool(processes=nprocs)
def execute(self, func, list_of_data):
return self.pool.map(func, list_of_data)
Run Code Online (Sandbox Code Playgroud)
另一个使用不同配置调用Executor.execute()的函数:
function eval(executor, list_of_data, config):
start = timer()
func = partial(post_func, config=config)
results = executor.execute(func, list_of_data)
taken = timer()-start
return results
Run Code Online (Sandbox Code Playgroud)
单个执行程序可用于所有eval()调用。然后将eval()包装在一个计分函数中,并赋予pyswarm进行优化:
pso(score_func, lbs, ubs, swarmsize=20, maxiter=20, debug=True)
Run Code Online (Sandbox Code Playgroud)
编辑:我可能应该早些做些什么,但是正确捕获ConnectionError给我这个:
ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=5000): Max …Run Code Online (Sandbox Code Playgroud)