laravel 队列任务自启动 AND 配置定时任务

2019年4月1日 作者 张舫

1. 队列任务自启动

接下来我们还需要在服务器上配置 Supervisor 来启动 Horizon。
Supervisor 是一款进程管理工具,通过配置可以实现自动监听进程状态,如果被监听的进程发生异常退出,Supervisor 会尝试再次启动该进程。之前的安装脚本已经安装好了 Supervisor,现在来创建一个 Supervisor 配置:

 

  • program:laravel-shop-horizon 代表这个配置的名称是 laravel-shop-horizon
  • process_name= 代表这个进程在 Supervisor 内部的命名;
  • command= 代表要执行的命令;
  • autostart=true 代表这个进程跟随 Supervisor,只要 Supervisor 启动了,就启动这个进程;
  • autorestart=true 代表要求 Supervisor 监听进程状态,假如异常退出就再次启动;
  • user=www-data 代表以 www-data 身份启动进程;
  • redirect_stderr=true 代表输出错误信息;
  • stdout_logfile= 代表将进程的输出保存到日志文件中。

 

接下来我们需要让 Supervisor 重新加载配置

现在通过以下命令检查是否正常运行:

2. 配置定时任务

其中 -e 代表编辑,-u www-data 代表我们要编辑 www-data 用户的定时任务

前面的 5 个 * 代表这个定时任务每分钟执行一次,后面的则是这个定时任务要执行的命令,同时我们使用 Linux 的管道 >> 将定时任务的输出追加到 cron.log 文件末尾,2 > &1 代表将错误输出也重定向到普通输出,即也输出到 cron.log 文件。

然后保存并退出。

现在来检查一下,输入以下命令:

-l 代表列出定时任务。