【Laravel】Laravel 定时任务 Schedule

本文介绍了如何利用Linux的crontab结合Laravel的Schedule来设置定时任务。包括创建控制台命令,修改Kernel文件以注册命令,更新Laravel的schedule,并在Linux上配置crontab定时执行任务。

1、简述

本文方法是利用Linux的crontab定时任务来协助实现Laravel调度

2、创建控制台命令

php artisan make:console TestTask

以上命令执行完,会生成文件app/Console/Commands/TestTask.php

3、修改 TestTask.php 文件

控制台命令名称

protected $signature = 'testTask';

控制台命令描述

protected $description = '测试定时任务';

控制台命令功能实现

/**
 * Execute the console command.
 *
 * @return mixed
 */
public function handle()
{
    Log::info('这是定时任务,每分钟写一次');
}

4、修改app/Console/Kernel.php

注册控制台命令

protected $commands = [
    Commands\TestTask::class, // 测试定时任务
]

将控制台命令添加到定时任务

protected function schedule(Schedule $schedule)
{
    $schedule->command('testTask')->everyMinute(); // 每分钟执行一次定时任务

}

5、添加 Linux 定时任务

手动执行自定义命令

php artisan testTask

添加 crontab 定时任务

执行命令:

sudo crontab -e

添加以下代码:

* * * * * php /var/www/invest/artisan schedule:run >> /dev/null 2>&1

重启 crontab 服务

service crond restart

命令说明

Linux 系统将会每分钟执行一次php artisan schedule:run命令,而 schedule 又管理着我们定义的定时任务。至此,我们的定时任务便可以正常工作了。

转载于:https://my.oschina.net/zobeen/blog/2250160

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值