问题标签 [ratelimit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mta - 如何在 postfix mynetworks 主机上应用 anvil ratelimit?
我们使用 Postfix MTA 作为我们应用服务器的智能主机中继。我们正在通过“Mynetworks”维护访问权限。我们有映射到“Mynetworks”的 IP 地址列表。
现在,由于脚本错误,我们正面临着通过许多应用服务器发送垃圾邮件/群发邮件的问题。因此,我们的基本邮件被卡住了。
我在 postfix main.cf 中检查了“Anvil rate limit”并尝试了以下操作,
但它不适用于客户端定义的“mynetworks”列表,它排除了铁砧速率限制。
任何人都可以帮助在 postfix 中实现 mynetworks 的速率限制。
authentication - 达到速率限制
我目前正在研究 Podio 和另一个 API 之间的集成,我偶然发现了以下情况:
我目前必须从包含有关发票信息的应用程序的一个工作区中的参考中查找信息,然后在包含该信息的应用程序的另一个工作区中找到特定客户。
我曾经一次只能使用多个应用程序验证自己的身份,然后动态地从对其他应用程序的引用中获取信息。但是现在我必须遵循以下代码流才能避免异常:
- 我必须首先使用发票应用程序验证自己
- 获取我需要的 PodioObjects
- 每次都使用客户应用程序对自己进行身份验证,以便我可以获取他们的信息,然后再次使用发票应用程序对自己进行身份验证
这意味着对 Podio 的大量请求,而我不应该需要这些请求。
在上面的代码片段之前,我已经在我的构造函数中对它们进行了身份验证。
如果我删除身份验证,我会因为未通过身份验证而出现异常。
建议?提前致谢。
synchronization - Evernote Initial Sync Boost
I'm working on an application that requires completely syncing a users Evernote account, however on some larger account we run into rate limits. According to the API documentation there is a feature known as Initial Sync Boost, however I can not find any information on how to implement this other than -
"You may request this when your key is created or when you are activating your API key in our production environment"
When looking at creating a token sync boost is not listed as one of the parameters.
Can anyone clarify this ?
java - 为什么这段代码在睡眠时会导致 NPE 以避免 Twitter4J 中的速率限制?
我正在使用 Twitter4j 获取给定用户的关注者。在某些时候,我总是达到速率限制。我很高兴程序能睡 15 分钟来结束这个。但是,当它醒来时,我得到一个错误。
请参阅以下代码:
从睡眠中醒来后,程序会NullPointerException
在这一行抛出一个:
任何人都可以发现为什么吗?
api - Skyscanner API:无法通过航班实时定价创建会话
我完全遵循此 API 指南,curl
但仍不断收到此消息:
{"ValidationErrors":[{"Message":"已超过速率限制:0 PerMinute for PricingSession"}]}
我是新来的,我敢肯定我以前从来没有拉过。因此,我不可能“超过”这个速度。
请让我知道为什么以及如何解决它。
google-api - 配额令牌不足
我正在通过 curl 访问 Google Mobile Friendly Test API
我经常得到回应
“配额 'RegularGroup' 的令牌不足,并限制了消费者 'api_key:MYAPIKEY' 的服务 'searchconsole.googleapis.com' 的 'ProjectQps'”
我每 10 秒或更长时间发出一次请求,所以我不会用太多请求敲击 api。
我不知道,为什么谷歌会这样回答:(
提前欢呼和感谢
阿德里安
java - 当元素列表达到其配额时阻塞的数据结构
我有一个“密钥”,当密钥在 1 分钟内达到其配额(1 分钟存储桶不是滑动窗口)端点时,我可以每分钟调用 500 次休息端点(每个密钥可以是 200、300 或 500)返回带有等待延迟的 429(速率受限)。一旦延迟过去,我可以再次使用这个键。
我的 API 是一种代理(客户端调用我的 API,我的 API 通过提供其中一个密钥来调用其他服务)我的 API 将堆叠我所有的用户密钥,这样在某种意义上它就变成了一个大密钥。并且当我的客户中的“任何”调用我的 api 时,我的系统会巧妙地选择 1 个仍然具有配额的键,并且当该键达到配额时,它会将其从可用键列表、队列或任何结构中删除
我很难为它选择一个好的数据结构和逻辑。我想到的是这样的
1) 获得一个仍然有配额并且至少有 1 个剩余通话可用的密钥 -1a) 如果没有可用的密钥,只需“等待”直到有一个可用
2)调用端点
3) 减少 1 的密钥配额,如果密钥受到速率限制,则将其从“队列”或“列表”或其他任何内容中删除。
4)回到1
请注意,我的 API 调用的端点会返回有用的信息,例如“requestRemaining”,这些信息指示密钥在受到速率限制之前还剩下多少请求。“速率延迟”指示何时可以再次使用密钥,以防它受到速率限制。
我认为一个好的解决方案是主动了解密钥何时会受到速率限制,而不是仅依赖端点响应。像这样,我们避免使用已达到配额的密钥“免费”调用端点。
我已经尝试过使用 DelayQueue 和一些信号量来阻止没有可用的密钥,但是我有一个问题,提前知道密钥是否会受到速率限制。我想在“请求”级别而不是关键级别并发。这意味着我不希望客户端在发出请求之前锁定密钥。如果一个密钥的配额为 500,我希望最多 500 个并发客户端使用 1 个单一密钥;
我很乐意听取更有经验的人的意见,了解他们将如何解决这个问题。
r - 对于每个 search_tweets() 调用,API 调用 twitter 的次数,是否取决于获取的推文数量?
我是 R 编程或 Twitter API 的新手。
当我运行以下代码时:
我收到此错误:
现在根据 twitter API 文档 API 调用仅限于请求/15 分钟窗口(用户身份验证)180 请求/15 分钟窗口(应用程序身份验证)450
但就我而言,在 search_tweets() 被调用 6 次后,我得到了“超出速率限制”。
我可以通过将循环重写为:
我的问题如下: 1)对于每个 search_tweets() 调用,对 Twitter 的 API 调用有多少次?2)它是否取决于获取的推文数量?
google-apps-script - 如何提高 Apps 脚本的速率限制?
我有这个使用 goo.gl 缩短器缩短 URL 的脚本:
我有大约 400 个 URL 需要缩短,请问如何摆脱“速率限制”?
java - 限制多线程环境中的方法调用/秒
我正在开发机制来处理游戏的武器。我遇到了射速问题,它适用于单线程,但似乎我的 GUI 正在从多个线程调用 fire() 方法,这有时会导致一些意外行为(多发射击非常快)。所以我在方法中添加了一个锁(带有一个AtomicBoolean
标志),但它只会导致错误出现的频率降低。
武器类
我写了一个单元测试来重现问题......有时。
测试:
我得到的(有时):计算出的AtomicInteger
枪
数比实际少 1 或 2
我想要 的是:无论线程数如何,武器都应该尊重它的射速。
任何想法 ?
编辑:
我试图反转 if 条件:
它从单元测试中解决了问题,但现在 GUI 只触发一次,再也不会触发。