【发布时间】:2018-05-04 02:54:20
【问题描述】:
我正在开发一个需要从第三方服务器获取数据并且该服务器每秒最多允许 1 个请求的应用程序。
现在,所有请求都作为作业发送,我正在尝试实施 Laravel "Rate Limiting" 以每秒释放 1 个作业,但无法弄清楚为什么应该实施它,并且网络中没有现实生活中的示例。
有人实现了吗?
有什么提示吗?
【问题讨论】:
-
自己调用内部API来消费外部API,使用job来消费自己的内部API。速率限制您自己的内部 API。
-
我现在正在做类似的事情,我的想法是:当您将作业分派到队列时,将分派日期时间存储在缓存中。对于所有调度,检查缓存以查看最后一个作业的调度时间,如果小于 1 秒,则使用
Job::dispatch()->delay($lastDispatchDateTime->addSeconds(1));
标签: laravel laravel-5 queue laravel-queue