当前位置:  开发笔记 > 编程语言 > 正文

部署Laravel“ schedule:run”与“ queue:work”

如何解决《部署Laravel“schedule:run”与“queue:work”》经验,为你挑选了1个好方法。

当我们有一个工作实例时,我们可以运行以下命令:

php artisan queue:work --queue=default --daemon --tries=5

里斯?然后,如果我们已经运行了先前的命令,是否有必要将其添加schedule:run到cron作业中?

php artisan schedule:run >> /dev/null 2>&1

这两个命令都是必需的吗?还是一个?



1> Saly 3301..:

这两个命令完全不同,并且执行两项完全不同的操作。
artisan queue:work 为您的异步作业和事件侦听器启动队列工作器,以便在分派时在后台运行。 在指定的时间
artisan schedule:run 执行Console\Kernel schedule功能中定义的命令(这就是CRON的意思)

例子

1- queue:work

给定这样的工作类别



这样的路线可以分派工作
routes/web.php

use App\Jobs\LogStuff;

Route::get('/', function () {
    dispatch(new LogStuff());
    return view('welcome');
});

QUEUE_CONNECTION.env这样的

QUEUE_CONNECTION=redis

在运行php artisan queue:work命令之前,不会记录任何内容

由于两次未运行队列工作程序的调度都会将作业添加到队列中(例如,在redis中)

2-计划的命令

鉴于所述的在计划的命令App\Console\Kernel 是这样

use App\Jobs\LogStuff;

Route::get('/', function () {
    dispatch(new LogStuff());
    return view('welcome');
});

在执行php artisan schedule:run之前,什么都不会输出到控制台

1分钟后

我希望这足够清楚

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有