OSMNX 无法在 /api/status 响应中没有速率限制的情况下工作

问题描述

我们在 AWS 中托管了一个 Overpass API 实例。它是一个预先构建的 AMI,显然禁用了速率限制,这对我们的目的来说很好,因为它是一个私有实例。但我们认为 OSMNX 不想与之交谈,因为 /api/status 响应不包含 X slots available Now 并且只是进入重试循环。这是我们收到的 /api/status 响应:

Connected as: 1190172919
Current time: 2020-12-30T03:02:05Z
Rate limit: 0
Currently running queries (pid,space limit,time limit,start time):

位于 http://overpass-api.de/api/status认公共 Overpass 服务器与 OSMNX 配合良好,它的 /api/status 响应如下所示:

Connected as: 1190172919
Current time: 2020-12-30T03:05:38Z
Rate limit: 2
2 slots available Now.
Currently running queries (pid,start time):

我们真的很想使用我们自己的私有 Overpass 实例,AMI 是一种方便的方法,但是在 OSMNX 中有没有办法解决这个问题,或者必须以某种方式重新配置 Overpass 服务器?

谢谢

解决方法

从 OSMnx v1.1.1 开始,您现在可以配置 OSMnx 是否应该检查立交桥服务器状态端点,以便在发出下一个请求之前暂停多长时间。如果服务器使用插槽管理,则该检查是必要的,但如果您运行自己的立交桥实例而没有任何速率限制,则可以(应该)禁用该设置。