B5net

人生是场无尽旅途,欢声笑语,踟蹰彷徨,走过的是岁月,路过的是迷茫。向前,是希望极光;回首,是悠长深巷。

Laravel定时任务的实现

Published on:2022-04-24

1. 创建任务执行文件


    command php artisan make:command TestTask

会在 app\console\Commands 下生成 TestTask.php

2. 编辑任务执行文件


class TestTask extends Command
{
    protected $signature = 'b5net:test';//命令名,自己随意写
    protected $description = '测试任务';//命令描述
    public function __construct()
     {  
         parent::__construct();
    }
    public function handle()
     {  //执行的逻辑
          file_put_contents('aaa.txt',date('Y-m-d H:i:s').'/r/n',FILE_APPEND);
  }
}

3. 在 app\Console\Kernel.php 中引入和设置执行间隔


protected $commands = [
     \App\Console\Commands\TestTask::class //引入命令类
];
protected function schedule(Schedule $schedule)
{
   $schedule->command('b5net:test')->everyFiveMinutes();//每5分钟执行一次,这里的5分钟,在window设置计划任务时,要把开始分钟数设为5的倍数
}

4. 添加服务器的计划任务


linux下使用crontab:自己百度命令

    crontab  ***** php artisan schedule:run > /dev/null 2>&1

windows
1. 创建 xxx.bat 文件,内容如下

cd /d D:\Apro_php\b5laravelcmf\         项目的绝对路径
php artisan schedule:run > NUL 2>&1

2. 创建.vbs 文件,内容如下

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c D:\Apro_php\b5laravelcmf\public\xxx.bat",vbhide

里面的 D:\Apro_php\b5laravelcmf\public\xxx.bat 为第一步创建的 xxx.bat 文件的路径。之所以创建.vbs 文件,是定时执行.bat 文件时会弹出 dos 界面,执行.vbs 是后台静默执行

3. 找到任务计划程序创建计划任务


注意这里的 1 分钟是选择了 5 分钟,然后手动删除 5 自己写上的 1




留言列表(1)

    留言

    B5net

    人生是场无尽旅途,欢声笑语,踟蹰彷徨,走过的是岁月,路过的是迷茫。向前,是希望极光;回首,是悠长深巷。

    开源项目
    最新评论
    pcy :前排围观
    Louis :冰舞的博客使用yii框架做的吧,B5ThinkCMF在本地部署后,登录系统的响应时间要比B5YiiCMF的登录时间长,还有一些Bug待修复
    34 :感谢你的开源项目
    奥德赛 on Electron+vue搭建项目或将vue项目转为electron :大声道奥术大师大声道
    cmf :你好 你的B5ThinkCMF下载后有点问题 能帮忙解决下么?
    laravel新手 :您好,laravel9+bootstrap3实现的快速开发后台,下载部署后,刷新加载,F12我看了下,我部署的是240毫秒左右,您部署的测试版本只有50毫秒左右,能辛苦指导下,如何优化lv吗,谢谢
    瀑布 :你好,yii我下载在本地后台,接口请求非常慢,通过debug我发现session_started执行时间很长,想问下这个是需要哪个地方配置吗?
    瀑布 :你好,今天看到你的开源项目,很喜欢,感谢你的开源
    冰舞 on Laravel定时任务的实现 :测试测试测试测试测试测试 测试测试测试测试测试测试测试测试测试测试
    文章分类