...
Given we have 10,000 users, we should be able to fetch all users' statuses in 25 requests, resulting in about ~1.5s * 25 = ~37.5s
if done synchronously. Splitting up the work into goroutines should work nicely since each request is completely independent from the others.
Using the Plugin API method GetUserStatusesByIds
, we can fetch all of the relevant statuses in one RPC call, and only update a user's status if it needs to change.
...