调度和队列
实现一个任务调度Provider
注册任务调度
下面是你唯一需要添加到服务器的 Cron 条目:
队列
队列的目的是将耗时的任务延时处理,比如发送邮件、文档转换处理等,从而大幅度缩短 Web 请求和响应的时间。
队列配置文件存放在 config/queue.php。每一种队列驱动的配置都可以在该文件中找到,包括数据库、Beanstalkd、Amazon SQS、Redis以及同步(本地使用)驱动。
第一步,生成数据库队列表迁移文件
php artisan queue:table
第三步,在 .env
文件配置队列驱动为数据库
QUEUE_DRIVER=database
QUEUE_CONNECTION=database
第四步,运行队列进程
如果你使用的是 ssh 运行的队列进程,当 ssh 连接断开时,该进程会自动停止。
Supervisor 是 Linux 系统中常用的进程守护程序,如果队列进程 queue:work 意外关闭,它会自动重启启动队列进程。
command=php /xxx/artisan queue:work database --sleep=3 --tries=3
autostart=true
autorestart=true
numprocs=2
stdout_logfile=/tmp/worker.log