相关疑难解决方法(0)

什么是一个好的速率限制算法?

我可以使用一些伪代码,或者更好的Python.我正在尝试为Python IRC机器人实现速率限制队列,它部分工作,但如果有人触发的消息少于限制(例如,速率限制是每8秒5条消息,而此人只触发4条消息),并且下一个触发器超过8秒(例如,16秒之后),机器人发送消息,但是队列变满并且机器人等待8秒,即使自8秒时间段已经过去也不需要它.

python algorithm message-queue

148
推荐指数
4
解决办法
8万
查看次数

节流或去抖方法调用

假设我有一个方法允许更新DB中的某些日期:

def updateLastConsultationDate(userId: String): Unit = ???
Run Code Online (Sandbox Code Playgroud)

如何轻松地对该方法进行节流/去抖动,以使每个用户每小时运行不超过一次.

我想要最简单的解决方案,而不是基于任何事件总线,actor lib或持久层.我想要一个内存解决方案(我知道风险).

我已经看到了基于Akka Throttler的 Scala限制解决方案,但这对我来说真的很难开始使用actor来进行限制方法调用.有没有一个非常简单的方法来做到这一点?

编辑:因为它似乎不够清晰,这里是我想要的直观表示,用JS实现.正如您所看到的,限制可能不仅仅是过滤后续调用,还可以推迟调用(也称为trailing eventsjs/lodash/underscore).我正在寻找的解决方案不能仅基于纯同步代码.

scala

4
推荐指数
1
解决办法
670
查看次数

标签 统计

algorithm ×1

message-queue ×1

python ×1

scala ×1