如果我们使用 Laravel 调度程序使用bellow和;
之类的命令 $schedule->command('invoice:generate')
我们可以通过键入
来使用终端执行/运行它
php artisan invoice:generate
但是我们如何通过终端或其他任何方式执行/运行提及$schedule->call
类型的方法来检查这个?
$schedule->call('App\Http\Controllers\DeactiveELV@shutdown')->everyMinute();
我的目标是,验证Kernel.php将使用上述schedule()
函数正确运行call
方法。
源代码[Kernel.php]:
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Illuminate\Support\Facades\Log;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
\Log::info('Just for testing...');
$schedule->call('App\Http\Controllers\DeactiveELV@shutdown')->everyMinute();
}
}
答案 0 :(得分:1)
首先测试cron是否在您的服务器或localhost类型中运行: sudo service cron status
如果没有安装,则安装cron: sudo apt-get install cron
要启用laravel的scheduler运行以下命令来编写cron文件。 crontab -e
如果没有直接打开vim,你可以选择一个编辑器。一定要在底部输入这一行: * * * * * php / path_from_root_to_laravel_proj_folder / artisan schedule:run 1&gt;&gt; / dev / null 2&gt;&amp; 1
要测试是否已在调度程序内部设置laravel,请从projects文件夹运行: php artisan时间表:运行
在控制台中运行特定的日程安排命令
php / path_of_your_project / artisan命令:commandname