尝试为队列实现https://services.gradle.org/distributions/gradle-4.3-bin.zip,以便每秒运行一个作业,向外部API发出HTTP请求并加载一种类型的数据。
但是没有得到如何打电话给工作,尝试了不同的选择,但没有工作。在示例中:
Redis::throttle('key')->allow(10)->every(60)->then(function () {
// Job logic...
}, function () {
// Could not obtain lock...
return $this->release(10);
});
什么会放入// Job logic...
调度队列,这段代码将在队列类中?以及如何命名key
?我的队列名称为loader
。
任何帮助?
答案 0 :(得分:4)
将它放在Job的handle方法中。
public function handle() {
Redis::throttle('key')->allow(10)->every(60)->then(function () {
// Job logic...
}, function () {
// Could not obtain lock...
return $this->release(10);
});
}
密钥应该是任何唯一的字符串。它将识别限制:“允许(10) - >每(60)”。
答案 1 :(得分:0)
您还可以使用此程序包对Redis或其他来源使用速率限制。使用设置将桶大小和速率设置为时间限制的分数,因此存储量非常小。
composer require bandwidth-throttle/token-bucket