laravel创建定时任务

官方文档给出的教程已经很详细了,这里给出一些补充帮助大家理解。

英文文档:https://laravel.com/docs/5.2/scheduling

中文文档:https://laravel-china.org/docs/5.2/scheduling

Starting The Scheduler

这里文档说的很简单,就是让你在服务器的crontab加入一条命令。

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

关于crontab可以参考这篇文章:http://www.cnblogs.com/xxoome/p/6091459.html

这条命令什么意思呢?按照crontab配置文件格式的解释

红框内都是shell命令。

##如果配有配置php的全局环境变量,这里需要指定php的绝对路径。
php:/usr/local/php/bin/php

##就是你项目根目录下的artisan文件的绝对路径
artisan:/home/prj-test/test/artisan

例如:

* * * * * /usr/local/php/bin/php /home/prj-test/test/artisan schedule:run >> /dev/null 2>&1

========================== 我是分割线 ===========================

1、创建artisan命令行

文档地址:https://laravel-china.org/docs/5.2/artisan

php artisan make:console TestConsole
<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Log;

class TestConsole extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = ‘testconsole‘;

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = ‘这是一个测试artisan的描述‘;

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        Log::info(‘这是我写的log‘);
    }
}

2、编写Kernel

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Illuminate\Support\Facades\Log;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        // Commands\Inspire::class,
        Commands\TestConsole::class
    ];

    /**
     * Define the application‘s command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        // $schedule->command(‘inspire‘)
        //          ->hourly();
        Log::info(‘zddddd‘);
        //调用artisan
        $schedule->command(‘testconsole‘)->everyMinute();
    }
}

有问题欢迎留言交流。

技术交流群:576269252

时间: 2024-10-10 15:56:53

laravel创建定时任务的相关文章

MySQL创建定时任务

一.前言 自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作.更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次.对于一些对数据实时性要求比较高的应用(例如:股票.赔率.比分等)就非常适合. 事件调度器有时也可称

spring-boot实战【09】【转】:Spring Boot中使用@Scheduled创建定时任务

我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. 创建定时任务 在Spring Boot中编写定时任务是非常简单的事,下面通过实例介绍如何在Spring Boot中创建定时任务,实现每过5秒输出一下当前时间. 在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置 1 2 3 4 5 6 7 8 9 10 @SpringBootApplication @E

Linux创建定时任务与日期格式化

-----转载自网络 1.创建定时任务 $ crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 $ crontab -e //编辑任务 $ crontab -l //显示当前任务 $ crontab -r //删除当前所有任务 文本格式(crontab -e | cat /etc/crontab) # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | |

yii框架通过控制台命令创建定时任务

假设Yii项目路径为 /home/apps 1. 创建文件 /home/apps/web/protected/commands/console.php $yii = '/home/apps/framework/yii.php'; require_once($yii); $configFile = dirname(__FILE__).'/../config/console.php'; Yii::createConsoleApplication($configFile)->run(); 2. 修改配

liunx创建定时任务

为当前用户创建cron服务 1.  键入 crontab  -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 保存文件并并退出 */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh */2 * * * * 通过这段字段可以设定什么时候执行脚本 /bin/sh /home/admin/jiaoben/buy/dele

SpringBoot创建定时任务

之前总结过spring+quartz实现定时任务的整合http://www.cnblogs.com/gdpuzxs/p/6663725.html,而springboot创建定时任务则是相当简单. (1)在springboot主类中@EnableScheduling注解,启用定时任务的配置,如下: (2)创建定时任务实现类,如下: package springboot.web; import java.text.SimpleDateFormat; import java.util.Date; im

Spring boot创建定时任务

基于spring boot的应用创建定时任务不要太简单,给一个类加上@Configuration @EnableScheduling注解,然后给该类需要定时执行的方法加上@Scheduled(cron = "${case.phase.cron}")注解.就OK了. ${case.phase.cron}表示case.phase.cron从应用配置文件application.properties里取,或者从config-server里取. import java.util.List; im

Laravel实现定时任务的示例代码

https://mp.weixin.qq.com/s/VUEqjwcHRb0ovhP0wup36A 最近在玩Laravel实现定时任务,这个是示例代码,可以参照这个实例.有需要的可以看看 定时任务是后端开发过程中一项十分常见的需求,常出现在数据统计.垃圾信息清理等场景中.Laravel 提供了一整套的定时任务工具,让我们只需要专注地完成逻辑,剩下的基础工作将由它来承担. 基本用法 生成命令 php artisan make:command AreYouOK 5.2 及之前的版本,此命令为 `ph

Laravel框架定时任务2种实现方式示例

本文实例讲述了Laravel框架定时任务2种实现方式.分享给大家供大家参考,具体如下: 第一种 1.生成一个commands文件 > php artisan make:command test 2.打开文件进行修改 laravel\App\Console\Commands\test.php <?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\Lo