如何使用 Laravel 任务调度将参数传递给命令

Posted

技术标签:

【中文标题】如何使用 Laravel 任务调度将参数传递给命令【英文标题】:How to pass parameters to command with Laravel Task Scheduling 【发布时间】:2019-07-03 22:27:35 【问题描述】:

作为官方文档,它并没有太多提及这一点。 App\Console\Commands\PullUsersCommand.php 的签名如下:

protected $signature = 'pull:users startTime endTime minutes=10 --flag --star=';

那么,如何在App\Console\Kernel.php中将参数传递给它

【问题讨论】:

【参考方案1】:

您可以像这样在 App\Console\Kernel.php 中调用它:

$schedule->command('pull:users', [
    time(),  // captured with $this->argument('startTime') in command class.
    time(),  // captured with $this->argument('endTime') in command class.
    30,      // captured with $this->argument('minutes') in command class.
    '--flag',// should be without any value, just the option name, and would be captured by $this->option('minutes').
    '--star'=>12, // would be captured by $this->option('star').
])->daily();

Artisan::call 外观也应该没问题。

【讨论】:

以上是关于如何使用 Laravel 任务调度将参数传递给命令的主要内容,如果未能解决你的问题,请参考以下文章

如何将 JSON 返回数据作为参数传递给 URL 路由(laravel)

如何通过asp.net schtasks将参数传递给bat文件

Laravel 5.8:如何将两个参数传递给 Event 和 Listener

如何将参数传递给 Laravel 5 中的隐式控制器?

如何将参数传递给使用 Heroku Scheduler 调用的 rake 任务?

如何将参数传递给 Laravel 包中的控制器操作?