避免php工匠队列:工作:队列驱动程序 - Redis或数据库(Laravel 5.4)

时间:2017-06-24 04:47:29

标签: linux laravel-5 redis laravel-5.4 laravel-queue

我目前正在使用数据库作为我的队列驱动程序,我在Windows 10 PC上安装了Laravel 5.4。为了处理队列,我一直在使用php artisan queue:work,这在开发阶段完全没问题。现在,该项目已经完全准备好,需要在Linux服务器上部署(专用)我不知道如何避免在终端上运行命令php artisan queue:work以处理邮件作业?

我已经在共享主机中部署了一次并且我已经使用了cron作业,但是现在我有专用服务器我想我应该可以使用其他东西来运行作业,我也在考虑使用Redis作为队列驱动程序而不是数据库作为队列驱动程序

我需要一些关于什么是最好的建议。如何在专用服务器上避免php artisan queue:work?我是否需要编写小脚本以确保作业在后台作为服务运行。

1 个答案:

答案 0 :(得分:1)

Laravel文档涵盖了主管。

请参阅:Laravel Supervisor configuration

Supervisor是一个进程监视器,它确保执行队列命令(或任何其他命令),如果它已经死亡,则执行并重新启动。

编辑:

请参阅:Supervisor documentation

基本上对于centos,你可以使用yum:

yum install supervisor

轻松安装

// required for easy_install (if not installed already)
yum install python-setuptools     
// install supervisor
easy_install supervisor

或pip

pip install supervisor

之后它只是创建你的配置(基于Laravel文档中给出的例子),这是逐步处理的:

Supervisor: creating-a-configuration-file

创建服务:Setup Supervisor

之后,您可以通过以下方式启动服务:

service supervisord start