gpt4 book ai didi

php - Laravel:运行队列:在 Windows Azure Web App 上连续监听

转载 作者:可可西里 更新时间:2023-11-01 12:53:09 27 4
gpt4 key购买 nike

我觉得问这个问题有点傻,但我似乎无法在互联网上找到这个问题的答案。经过几个小时的搜索后,我发现在 Linux 服务器上,您使用 Supervisor 在您的网站上连续运行“php artisanqueue:listen”(无论有或没有守护进程)来处理推送到队列的作业。这一切都很好,但如果我想在 Windows Azure Web 应用程序上执行此操作该怎么办?经过搜索后,我发现的解决方案是:

  • 制作一个计时作业,每分钟(或每 X 分钟)运行“php artisanqueue:listen”,我真的不喜欢这个解决方案,并且希望在网站获得更多流量时特别避免使用它;
  • 添加一个连续运行“php artisan queue:listen”的 WebJob(这里的问题是我不知道如何为 WebJob 编写脚本...);

我想请你们帮忙了解哪一个是正确的解决方案,是否有更好的解决方案,以及 WebJob 是否是最好的解决方案,我该如何为此编写脚本?提前致谢。

最佳答案

简而言之,Supervisor 是 nohup(无挂断)的现代替代品,并附加了一些其他的零碎内容。简而言之,还有其他资源可以让任务在后台(守护进程)运行,而我用于基于 Windows 的项目(很少说实话)的解决方案是 Forever,我是通过以下方式发现的:https://stackoverflow.com/a/18226392/5912664

C:\myprojectroot > forever -c php artisan queue:listen --queue=some_nice_queue --tries=3

如何?

为 Windows 安装 node,然后使用 npm 安装 Forever

C:\myprojectroot > npm install -g forever

如果您在 Windows 上运行 Node 遇到困难,我推荐 Windows 包管理器 Chocolatey

https://chocolatey.org/packages?q=node

请务必检查 Forever 创建的任何日志文件,因为我留下的日志文件足够长,足以消耗 30Gb 的磁盘空间!

关于php - Laravel:运行队列:在 Windows Azure Web App 上连续监听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37729662/

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