我目前使用数据库作为我的队列驱动程序,我已经在 Windows 10 PC 上安装了 Laravel 5.4。为了处理队列,我一直在使用 php artisan queue:work
,这在开发阶段完全没问题。现在,该项目已完全准备就绪,需要部署在 Linux 服务器(专用)上 我不确定如何避免在终端上运行命令 php artisan queue:work
以处理邮件作业?
我已经在共享主机中部署过一次并且我使用了 cron 作业,但是现在我有专用服务器我想我应该可以使用其他东西来运行作业,我也在考虑使用 Redis 作为队列驱动程序而不是数据库作为队列驱动
我需要一些关于什么是最好的建议。以及如何避免在专用服务器上使用 php artisan queue:work
?我是否需要编写小脚本来确保作业作为服务在后台运行。
最佳答案
Laravel 文档涵盖了 supervisor。
参见:Laravel Supervisor configuration
Supervisor 是一个进程监视器,它确保您的队列命令(或与此相关的任何其他命令)被执行并在它死亡时重新启动。
编辑:
基本上对于centos,你可以使用yum:
yum install supervisor
安装简单
// required for easy_install (if not installed already)
yum install python-setuptools
// install supervisor
easy_install supervisor
或点子
pip install supervisor
之后它只是创建您的配置(基于 Laravel 文档中给出的示例),这是逐步处理的:
Supervisor: creating-a-configuration-file
并创建服务:Setup Supervisor
之后你可以启动服务:
service supervisord start
关于linux - 避免 php artisan 队列 :work : Queue Driver - Redis or Database (Laravel 5. 4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44732854/