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 命令行

  • 相关阅读:
    Linux编程make命令(转)
    如何处理Global symbol * requires explicit package name编译错误,以及use strict用法
    6235与旧版本的区别
    Linux下动态链接库的使用
    MTK Socket学习——HTTP请求
    指针和指针的引用
    VC/MFC Combo Box控件的用法
    makefile教程
    常用数据类型使用转换详解
    Linux发送与接收信息
  • 原文地址:https://www.cnblogs.com/zqunor/p/11570789.html
Copyright © 2011-2022 走看看