【问题标题】:Best Practice for Laravel Asynchronous RequestsLaravel 异步请求的最佳实践
【发布时间】:2018-02-22 14:04:00
【问题描述】:

我有一个 Laravel 应用程序。当我在控制器中每页只创建 3-10 个 API 时,应用程序加载得非常好。 现在,当我开始在控制器中为每个页面发出 200 API 请求时,我开始看到延迟。

因为 Laravel 是 MVC。

控制器中的所有代码都需要完全执行并完成,然后它将所有数据/变量发送到视图。 但这会导致很多延迟。

我正在考虑异步执行 API 调用,但我不确定哪一个是最好的选择,

我快速搜索了一下,我找到了:

对此的任何指示/建议对我和其他面临此问题的人来说意义重大。

【问题讨论】:

  • IMO 你试图以错误的方式解决它。只需使用后台任务,然后让客户端要求更新进度即可。还取决于结果的生命周期,而不是进行 api 调用。
  • 另外你的第二个链接与异步无关
  • 我现在正在研究 Laravel 队列,但我不确定这是否是解决此问题的最佳方法。
  • 你不能把一些请求合并成一个更大的请求吗? 200 个 api 调用来交付一个页面似乎太多了,但这取决于你在做什么。
  • 为什么不能将这些 api 调用移出阻止呈现视图的方法,并使用 axios 之类的东西来异步获取数据并呈现您需要的内容?如果您使用的是 vuejs 或任何其他前端框架,您应该能够移除那些阻塞的 api 调用并利用 js 来获取和渲染。

标签: php laravel curl asynchronous laravel-5


【解决方案1】:

为此探索使用Queues。将所有调用卸载到队列中,等待响应。

我建议不要每页 200 个请求,这似乎过多。也许在重新架构之前尝试将其降低。

【讨论】:

    猜你喜欢
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 2011-08-12
    • 2013-02-02
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    相关资源
    最近更新 更多