gpt4 book ai didi

没有数据库查询的 laravel 队列

转载 作者:行者123 更新时间:2023-12-02 02:57:11 26 4
gpt4 key购买 nike

我想尽量减少对传入请求的数据库查询。它目前需要写入 6 个不同的表。在返回响应之前不需要完成处理。因此,我考虑了 laravel 队列,但我想知道我是否也可以摆脱写入队列/作业表所需的单独查询。我可以在本地存储作业而不是将它们写入数据库吗?

一个可能的黑客攻击是有一个单独的路由,我将数据发送到该路由进行处理。这样我就不需要写入数据库,而是可以将数据转发到该路由而不等待响应。这会比向数据库写入作业更快吗?

最佳答案

如果您不想使用 native 队列驱动程序(即使用数据库),我建议您使用 Rabbit-MQ。这是 Laravel 的一个很好的驱动程序实现:

RabbitMQ Queue driver for Larave

您必须使用以下命令在 CLI 中运行 deamon 服务:

./artisan queue:work(守护程序版本 - 在您对代码进行每次更改后,您必须调用 ./artisan queue:restart 来刷新代码排队)

./artisan queue:listen(对于./artisan queue:work --once process productor)

或使用 Supervisor与:

./artisan queue:work --once

(我个人最喜欢的)

之后,您将放入队列的每个任务(使用 dispatch()\Queue::push())将被传送到 RabbitMQ 服务器并执行通过队列驱动程序。

关于没有数据库查询的 laravel 队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48660583/

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