linux添加任务调度,【笔记】使用 Laravel 的任务调度(定时执行任务)——Linux 系统...

laravel中有一个很强大上的功能,只需要在服务器上添加一个cron条目,就可以定时执行所有的laravel任务。

一 、创建Command文件php artisan make:console RefreshToken

创建app/Console/Commands 下创建RefreshToken.php

取一个名字protected $signature = 'refreshToken';

添加描述protected $description = 'Refresh Api Token';

在 handle() 方法中实现功能public function handle()

{

Log::info('Token Refreshed');

}

二、在Kernel.php 文件中注册protected $commands = [

\App\Console\Commands\Inspire::class,

\App\Console\Commands\RefreshToken::class, //添加class

];

protected function schedule(Schedule $schedule)

{

$schedule->command('refreshToken')

->everyMinute();

}

三、在服务的/var/spool/cron/root文件中添加代码

在命令行输入crontab -e

添加如下代码* * * * * /usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1

bdc680d2a119d8afdf5a59e75838514f.png

不需要重启cron服务,因为系统每分钟都会读一遍/var/spool/cron目录下的文件。

开始定时任务crontab -l

或许之后你要结束任务 (此操作删除所有已设定的定时任务,谨慎操作)crontab -r

如果发现按照如下配置还是不能执行的话,可以用以下方法排除问题:

看一下命令有没有使用绝对路径,比如这里使用/usr/local/php/bin/php而不是php,使用/data/wwwroot/test/artisan而不是artisan。

如果已经使用了绝对路径还是不执行,那就直接在命令行输入/usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1,看看有没有执行,如果没有执行,那就是laravel代码的问题,如果执行了说明是环境变量的问题,好好检查路径的问题。如果不知道php在什么地方,在命令行输入which php,就会提示你php安装在什么位置了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值