At the moment there is a safeguard rate limit on the api of around 30-60 requests per second from any one IP address. Requests above that limit get dropped or get error responses. This limit is somewhat flexible, and it’s meant to be mostly a protective measure.
If you want to pull bulk data from your devices, I would recommend opening one events socket, and having your device publish data updates. This will be faster / closer to realtime data access, and will have significantly less complexity / overhead, and you’ll avoid any request rate limiting, etc, etc.
Ok, thanks for the info. This is part of a status system; we’re using active polling to confirm that systems are online and are less concerned about the particular data. Once the normal online/offline reporting system is reliable, we’ll probably fall back to using that.
Alternatively, you could have all your devices subscribe to a “ping” event or something similar, and have them publish a “pong” in response. Then you could publish one message, and get a list of all online devices in the same way, etc, etc.