php - Laravel 8,如何在后台运行作业(脚本)?
问题描述
解决方案
默认情况下,该.env
文件具有QUEUE_CONNECTION=sync
.
意思是,sync
连接使用主线程来执行任务。因此,它必须先完成,然后再继续下一行代码。
要使任务在后台运行,以便您的主应用程序线程不会阻塞并且您可以更快地处理您的客户端请求,请尝试使用不同的连接,即database
.
- 为此,只需更改
QUEUE_CONNECTION=database
您的.env
文件。
您可以php artisan queue:listen
在本地计算机设置上运行以在任务进入时对其进行处理。
注意:在生产服务器上,设置更强大的功能以在进程失败时自动重新启动进程可能会更方便。主管配置
推荐阅读
- https - 当我尝试使用 ajax 调用通过 https 向 API 发布文件时,发布失败。但是当我使用 http://192.xxx.xxx.xxx/controller/action 时效果很好
- ssl-certificate - 对 cloudflare 代理域的自定义域支持
- elasticsearch - elasticsearch中的字段类型不匹配
- reactjs - 在不缩放的情况下裁剪three.js画布
- javascript - 当它由JS或Jquery加载时,我如何才能在chrome中只加载网页的选定部分
- php - 如何从字符串中删除(“)字符
- logging - Stackdriver 将来自 GKE 的应用程序日志解析为 textpayload 而不是 jsonpayload
- google-bigquery - BigQuery 处理 SPLIT、UNNEST 时的良好做法
- list - 在 Haskell 中,[0.1..1] 返回 [0.1,1.1]。为什么?
- sql - 分开门牌号和地址但如果没有门牌号怎么办