zoukankan      html  css  js  c++  java
  • Laravel应用 -- 脚本任务

    大多数项目在业务发展过程中,都需要修复历史数据和定时任务来完成一些业务逻辑,这部分通常都需要通过脚本来完成,一般的框架爱也都提供这部分的功能,学习并使用是工作中的基本要求。

    基本流程

    commands模式运行脚本定时任务基本流程:

    1. app/Console/Commands/ 目录下创建脚本任务文件
    2. app/Console/Kernel.php $commands数组中添加新建的脚本类
    3. app/Console/Kernel.php schedule()方法中添加脚本定时任务命令

    具体实现

    创建脚本文件

    app/Console/Commands/QingShan/commandQingshan.php

    <?php
    namespace AppConsoleCommandsQingShan;
    
    use IlluminateConsoleCommand;
    
    class commandQingshan extends Command
    {
        // 自定义脚本命令签名
        protected $signature = 'qingshan:commandQingshan';
        
        // 自定义脚本命令描述
        protected $description = '这里是脚本命令的描述qingshan';
        
        // 创建一个新的命令实例
        public function __construct()
        {
            parent::__construct();
        }
    
        //具体执行的业务内容
        public function handle()
        {
        }
    }
    

    注册脚本

    app/Console/Kernel.php $commands数组中追加新建的脚本类

    protected $commands = [
        'BasicITLumenVendorPublishVendorPublishCommand',
        CommandsQingShancommandQingshan::class
    ]
    

    执行脚本

    查看脚本命令调用方式

    1. 在项目目录下执行下面的命令,查看当前可以执行的命令
    > php artisan list
    

    Available commands下会有一列:

    qingshan
        qingshan:commandQingshan     这里是脚本命令的描述qingshan
    
    1. 执行脚本命令
    > php artisan qingshan:commandQingshan
    

    添加到定时任务

    app/Console/Kernel.php schedule()方法中添加脚本定时任务命令

    // 设置commandQingshan脚本为每天15:00自动执行
    protected function schedule(Schedule $schedule)
    {
        $schedule->command('qingshan:commandQingshan')->dailyAt('15:00');
        
    }
    

    参考资料:

    Larave5.8中文文档--Artisan 命令行

  • 相关阅读:
    软件测试 测试路径覆盖
    软件测试Lab Junit&Eclemma
    软件项目管理 名词解释
    使用 async/ await 进行 异步 编程
    基于任务的编程模型TAP
    异步编程(二)基于事件的异步编程模式 (EAP)
    C# 异步编程学习(一)
    C# 设计模式
    C# 读取硬盘信息 ManagementClass类
    C# show和showdialog区别
  • 原文地址:https://www.cnblogs.com/zqunor/p/11570789.html
Copyright © 2011-2022 走看看