美文网首页
laravel任务调度-定时任务

laravel任务调度-定时任务

作者: 最底层的技术渣 | 来源:发表于2019-04-25 23:56 被阅读0次
写在前面的话:

其实laravel的任务调度(定时任务)在文档中已经写得很清楚了,只是对于刚入门或者还不是很熟练的小伙伴们来说,还是有点难度的,下面我就按照自己常做的步骤来写个文档,希望可以帮助自己的同时也可以帮助到小伙伴们:

一、编写任务调度

  • 找到目录App\Console\Kernel类的 schedule 方法中定义所有调度任务。在编写的时候,注意可以定义多个任务,如何定义下面有简单的小举例,建议使用命令或者队列来处理更佳,更多方式请查看官方文档(任务调度
    protected function schedule(Schedule $schedule)
    {
        $uid = XMAgentUserData ::getAllOfAll();

       //  编写第一个每天执行的任务
        $schedule -> call( function() use ( $uid ) {
            collect( $uid ) -> map( function( $uid ) {
                XMAgentUserData ::getUidToRecord( $uid -> uid );
            } );
        } ) -> daily();
        //  编写第二个每周六执行的任务
        $schedule -> call( function() use ( $uid ) {
            collect( $uid ) -> map( function( $uid ) {
                XMAgentUserData ::getLastWeekCommission( $uid -> uid );
            } );
        } ) -> weekly() -> saturdays();
    }

二、启动调度器

  • 1、用命令crontab -l查看现有的任务,出现no crontab for root,请先安装crontab,出现空表示没任务,出现其他请具体分析(一般是存在任务)
  • 2、用命令crontab -e添加定时任务
* * * * * /usr/local/bin/php /usr/local/var/www/test/artisan schedule:run >> /dev/null 2>&1

格式说明:

***** 你的命令

前面的5个 * 分别代表分钟、小时、天、月、星期。
分钟:0-59的整数,默认/1 代表1分钟。
小时:0-23的整数。
天:1-31的整数。
月:1-12的整数。
星期:0-7的整数,0和7都代表星期日。

注意:要注意phpartisan的目录
php 是你 php软件设置的命令目录(一定要正确)
artisan 是你laravel中使用artisan命令的目录(一定要正确)

  • 3、启动定时器
情况一:正常情况(系统有service命令)
service crond restart   #重启服务命令
service crond start   #启动服务命令
service crond stop   #停止服务命令
情况二:当linux发行的版本没有service这个命令时候,用如下命令进行停止启动:
/etc/init.d/cron空格stop  #停止服务

/etc/init.d/cron空格start  #启动服务
其它建议:

如果你是使用了集群或者负载均衡……,laravel在这种情况下一定要 onOneServer()避免数据重复,必须使用 memcachedredis作为你应用程序的默认缓存驱动程序。 另外,所有服务器都必须与同一个中央缓存服务器进行通信。

相关文章

  • laravel任务调度-定时任务

    写在前面的话: 其实laravel的任务调度(定时任务)在文档中已经写得很清楚了,只是对于刚入门或者还不是很熟练的...

  • laravel 设置定时任务(任务调度)

    1)创建数据表 2)定义调度:在App\Console\Commands下创建Test.php 3)编辑 app/...

  • laravel 设置定时任务(任务调度)

    创建定时任务 查看定时任务 定义调度 在App\Console\Commands下创建Test.php 编辑 ap...

  • Laravel 定时任务调度

    定义调度你可以在App\Console\Kernel类的schedule 方法中定义所有调度任务。在开始之前,先看...

  • Java定时任务调度工具详解

    本篇内容:什么是定时任务调度?Java定时任务调度工具详解之 Timer篇Java定时任务调度工具详解之 Quar...

  • laravel 任务调度

    1.在代码里面写调度任务,在Console文件夹下面Kernel.php写调取任务命令 2.在Commands文件...

  • laravel 任务调度

    创建定时任务文件 编辑文件内容 修改Kernel 文件 添加定时任务

  • laravel任务调度

    crontab -e #添加代码 * * * * * /usr/bin/php7.0 /var/www/html/...

  • laravel 调度任务

    larave 一直是国内外备受欢迎的框架,功能强大、结构优雅,其中 artisan 命令 也一直备受青睐。接下来就...

  • laravel任务调度

    1.创建定时任务 编写以下cron语句: /usr/bin/php为PHP路径,/www/wwwroot/guxi...

网友评论

      本文标题:laravel任务调度-定时任务

      本文链接:https://www.haomeiwen.com/subject/vmotnqtx.html