欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

laravel - php artisan --queue 参数报错!

程序员文章站 2022-05-25 11:33:04
...

报错信息:
laravel - php artisan  --queue 参数报错!

回复内容:

报错信息:
laravel - php artisan  --queue 参数报错!

make是创建php文件的命令,你截图里的make:command是创建一个命令行任务,比如你创建了一个命令test,就可以在命令行执行 php artisan test 来执行这个 test 任务。

用于队列执行的任务一般用 "Job" ,通过 php artisan make:job 创建一个job类,然后在代码中用 dispatch(new FooJob) 来执行这个任务。如果需要这个job在队列(queue)中执行(异步),job类实现ShouldQueue即可。把job加到queue中后,这个队列queue本身也是要启动的,才能保证加进去的job可以按计划执行,启动队列用php artisan queue:work命令行。官方文档对这些都说的很清楚,多看几遍多试试就弄通了。
https://laravel.com/docs/5.3/...
中文:https://laravel-china.org/doc...

创建事件(event)监听者(listener)文件时可以加参数 queued 用于标记这个listener需要在队列中异步执行,比如 php artisan make:listener Foobar --queued, 在EventServiceProvider中定义了事件event与listener的对应关系。在代码中使用 event() 函数触发一个事件,框架会根据EventServiceProvider中定义的监听者来调用其代码,如果监听者是队列的,就把它加入到队列中。

Laravel中的事件、任务、监听、通知都与队列有关系。但是command(命令行)跟队列没关系,command可以理解为是跟在php artisan后面执行的一个命令行工具。命令行工具可以加入系统的计划任务cron用于按照计划时间来执行,比如每天凌晨3点重启服务器。Laravel提供了一种便捷的方法实现系统的cron计划任务,在app/Console/Kernel.php中的schedule方法中写即可。

不存在--queued选项,你是要做啥操作

相关标签: laravel php