• 定时


    在laravel 中使用定时是非常简单的,在此只是做笔记,需要研究,仔细google  推荐一个文章http://www.cnblogs.com/chunguang/p/5714389.html

     简单介绍一下原理  

       linux 中有个contab  系统会每分钟去执行一个文件,我们可以把我们需要执行的东西,写进这个文件,让系统每分钟去调用即可,

    按照上面说的,我们只需要把我们的kernel这个文件加载到 corntab 文件中,然后让linux去每分钟执行 kernel中的 schedule ,下面的命令就是完成对接任务

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

    具体参数意思google。  
      /path/to/artisan  是你的项目目录

      2>&1 牵扯到linux 的标准输入输出。
      >> 是追加内容
      > 是覆盖原有内容
      null 代表空设备文件
     

    ============laravel 中的运用===========

    在 laravel 我们只需要暴露一个文件即可,就是下面的kernel类


    namespace AppConsole;

    use IlluminateConsoleSchedulingSchedule;
    use IlluminateFoundationConsoleKernel as ConsoleKernel;

    class Kernel extends ConsoleKernel
    {
    /**
    * The Artisan commands provided by your application.
    *
    * @var array
    */
    protected $commands = [
    AppConsoleCommandsInspire::class, //把我们的定时任务类给添加到这个数组中
    ];

    /**
    * Define the application's command schedule.
    *
    * @param IlluminateConsoleSchedulingSchedule $schedule
    * @return void
    */
    protected function schedule(Schedule $schedule)
    {
    $schedule->command('inspire') // 每小时就会执行 inspire 这个command
    ->hourly();
    }
    }

     我们来定义我们的inspire这个命令


    namespace AppConsoleCommands;

    use IlluminateConsoleCommand;
    use IlluminateFoundationInspiring;

    class Inspire extends Command
    {
    /**
    * The name and signature of the console command. 我们定义的命令
    *
    * @var string
    */
    protected $signature = 'inspire';

    /**
    * The console command description. 命令的说明
    *
    * @var string
    */
    protected $description = 'Display an inspiring quote';

    /**
    * Execute the console command.
    *
    * @return mixed
    */
    public function handle()
    {
    $this->comment(PHP_EOL.Inspiring::quote().PHP_EOL); //定时的处理逻辑
    }
    }

    完成上面的之后,我们可以手动测试一下 php artisan inspire 就会调用 inspire 这个命令下的handle方法
    
    
      
      
     
  • 相关阅读:
    flex产生水平滚动条
    js中的类
    typescript
    vue练习
    vue-cli2脚手架搭建
    Luogu P1970 花匠
    Luogu P1311 选择客栈
    Luogu P1016 旅行家的预算
    Luogu P1144 最短路计数
    Luogu P1091 合唱队形
  • 原文地址:https://www.cnblogs.com/lengthuo/p/7205675.html
Copyright © 2020-2023  润新知