gpt4 book ai didi

php - 如何在 Laravel 中使用线程来运行存储过程

转载 作者:行者123 更新时间:2023-11-29 12:13:28 25 4
gpt4 key购买 nike

我想使用 php 线程异步加载执行 mysql 存储过程的函数。存储过程需要花费大量时间来加载,因此我发现保持异步是唯一的最佳解决方案。

我不知道如何将线程引入 Laravel 中。 Laravel 有队列,但我想直接在带有线程的脚本中执行它。

最佳答案

我为解决类似问题所做的(我在同步命令中完成)是创建一个从 Thread 扩展的类并从 laravel 代码中调用它。

您的案例中的类可能是这样的:

class LaravelWorker extends Thread
{
private $object;

public function __construct($object)
{
$this->object = $object;
}

public function run()
{
$object->runProcedure();
}
}

您可以在代码中调用它,如下所示:

$object = new ObjectWithProcedure();
$threadedMethod = new LaravelWorker($object);
$threadedMethod->start();

如果由于某种原因,您需要等到 $threadedMethod 完成,您可以这样做

$threadedMethod->join();
(more_code...)

more_code 部分只会在 $threadedMethod 结束后执行。

希望对你有帮助!

关于php - 如何在 Laravel 中使用线程来运行存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30276420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com