问题: linux下设置任务需要每个任务都配置一条命令,不方便管理。 laravel框架提供了, 统一管理方法。
方法: 1.在app/Console 目录下创建 Commands/文件名 ,拿test举例吧
代码如下
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Log;
class TestConsole extends Command
{
protected $signature = 'testconsole';
/**
* The console command description.
*
* @var string
*/
protected $description = '这是一个测试artisan的描述';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
Log::info('这是我写的log');
}
}
?>
2. 1>.在Console/Kernel.php 中 $commands中加入 test文件
protected $commands = [
Commands\TestConsole::class
//
];
2>.在schedule方法里加入 命令
protected function schedule(Schedule $schedule) {
$schedule->command('testconsole')->everyMinute();
}
3>. 设置laravel统一crontab。
crontab -e
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
php为php命令所在的路径 例如: /aws/server/php/bin/php
path-to-your-project为你的laravel项目路径