背景
我有一个应用程序,它充当外部API和我的数据库之间的接口,不断发出API请求并将响应存储在数据库中。
假设此API具有带有用户参数的端点,可接受单个用户或多个用户。在一段时间内,我的应用程序可能需要多个不同用户的数据。此API受每分钟请求的速率限制,而对多个用户的阻止请求仅计数一次。
问题
我的应用程序可以达到我需要100个不同用户的信息的程度,但我不知道在任何时候我都需要这100个用户。因此,我达到了API的速率限制。我的应用程序基本上是逐个查询用户数据的API。
需要解决方案
有没有一种方法可以将这些独立请求中的每一个抛出到某个队列中,一旦队列遇到x个请求或者在一定时间后,将所有请求捆绑在一起形成一个API查询,然后通知每个来电者数据准备好了吗?
我们只是说我有一个Windows窗体应用程序,其中包含用于用户ID的文本输入和用于将用户ID提交到API接口的按钮,作为异步功能。我没有为每个按钮查询API,而是将每个请求组合在一起,直到计数命中数超过100或已经过了一定时间。