gpt4 book ai didi

redis - Laravel - 是 Artisan :call() synchronous?

转载 作者:行者123 更新时间:2023-12-02 12:01:20 25 4
gpt4 key购买 nike

我遵循 laravel 提供的 redis pub/sub 文档并创建了一个订阅命令。但是,当我使用 Aritsan::call() 在 Controller (这是一个长时间运行的命令)中编写订阅逻辑时,代码不会进一步执行,因为命令一直等待读取一行已发布的消息。

如何避免这种等待?有没有办法可以异步实现这一点?

我尝试将此作业排队,但即使 Artisan::queue() 也需要类似的时间。有什么建议吗?

最佳答案

使用 Artisan::call() 将以同步模式执行命令,而 Artisan::queue() 将以“队列”模式执行命令。

您应该在 QUEUE_DRIVER 设置的 .env 文件中看到“队列”模式驱动程序。默认情况下,该值将为sync,因此您的队列调用将同步执行。

有关实现队列的更多信息,请参阅此处 https://laravel.com/docs/5.8/queues

关于redis - Laravel - 是 Artisan :call() synchronous?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38958975/

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