我目前正在使用数据库作为我的队列驱动程序,我在Windows 10 PC上安装了Laravel 5.4。为了处理队列,我一直在使用php artisan queue:work
,这在开发阶段完全没问题。现在,该项目已经完全准备好,需要在Linux服务器上部署(专用)我不知道如何避免在终端上运行命令php artisan queue:work
以处理邮件作业?
我已经在共享主机中部署了一次并且我已经使用了cron作业,但是现在我有专用服务器我想我应该可以使用其他东西来运行作业,我也在考虑使用Redis作为队列驱动程序而不是数据库作为队列驱动程序
我需要一些关于什么是最好的建议。如何在专用服务器上避免php artisan queue:work
?我是否需要编写小脚本以确保作业在后台作为服务运行。
答案 0 :(得分:1)
Laravel文档涵盖了主管。
请参阅: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
pip install supervisor
之后它只是创建你的配置(基于Laravel文档中给出的例子),这是逐步处理的:
Supervisor: creating-a-configuration-file
创建服务:Setup Supervisor
之后,您可以通过以下方式启动服务:
service supervisord start