【问题标题】:Laravel http request: Cannot run multiple requestLaravel http请求:无法运行多个请求
【发布时间】:2023-04-02 06:20:01
【问题描述】:

我在使用 Laravel http 请求时遇到了可怕的问题。请帮我解决这个问题:

我假设我有 2 个请求路由到同一个控制器

当我触发 Req 1 时,接下来是 Req 2。我只是认为 2 Reqs 是分开的,意味着 Req 1Req 2 以自己的方式运行。但是我得到的结果是 Req 2Req 1 运行时无法完成。

在控制器中,

  • 请求 1:我想运行脚本来解析带有 yangqi/htmldom 的 HTML 文件
  • 请求 2:我想返回一些简单的值。

已编辑:我的问题是为什么我的 Req 2 必须先等待 Req 1 完成?他们不应该相互依赖,我想?或者 Laravel 的一些问题。

感谢您的支持,

【问题讨论】:

  • 您能否编辑您的文本,使其包含明确的问题以便我们回答?现在我不完全确定你想要完成什么。
  • 已编辑,您能帮我解决这个问题吗? @smartman

标签: php laravel httprequest


【解决方案1】:

看起来您正在使用默认的本地同步队列驱动程序。要获得并行处理能力,您需要使用其他一些驱动程序。我推荐iron.io

更多信息来自http://laravel.com/docs/5.0/queues#configuration

【讨论】:

  • 你的意思是本地的laravel服务器不能处理并行处理?主机中的服务器怎么样,例如:byethost等?我们需要配置什么吗?
  • 这取决于你的配置。同步驱动意味着任务是按顺序处理的。其他驱动程序也支持并行处理。我给你的链接解释了如何使用你可以在 config/queue.php 中配置的不同队列驱动程序
  • 还有1个问题,如何在后台(线程)执行请求1的函数?你能给我一些提示吗?
  • 我推荐使用铁队列驱动iron.io/mq进行并行处理。我一直在使用它,它就像一个魅力。但是,在 localhost 中,您需要创建可公开访问的隧道,以便从 iron.io 服务器发出的调用到达您的应用程序。你也可以试试数据库驱动。
  • 谢谢大家。但我还是有些困惑。在此之前,我只是认为默认服务器将并行处理请求,单独,而不是像这样的单个线程,我认为每个传入的请求都只能在他们的线程中工作?我说的对吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多