我的情况是这样的:
有一个外部网站的接口,用户在我的 Laravel 站点查询某些信息时,我的站点会去请求这个外部接口,获得数据后返回给用户。 但这个外部接口不能被同时频繁请求,同时请求会被接口服务器短暂封禁 IP 半个小时,当我的站点有多个用户同时在查询信息时,就容易发生这种情况。
我想用 Laravel 的队列来处理,用户前台查询信息时,我的站点后台会将这个请求加入队列,依次去请求那个外部 API。
但 Laravel 队列是异步的,无法将队列中接口请求到的信息即时返回给用户,只能将返回的数据存储起来。
请问:
1、Laravel 队列中可以将任务的返回值返回给前台用户吗,如果有,该怎么实现?
2、对于上述我的需求,是否有更好的实现方式?(或者说,我上述需求是否符合 Laravel 队列的适用场景?如果不适合,有适合的实现方式吗)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.