kohana模块之minion Task使用方法

下载到本地kohana

\modules目录中,如下图:

在这里插入图片描述
修改application目录下的bootstrap.php文件开启验证码模块minion

Kohana::modules(array(
    'auth'       => MODPATH.'auth',       // Basic authentication
    'database'   => MODPATH.'database',   // Database access
    'minion'     => MODPATH.'minion',     // CLI Tasks
   // 'orm'        => MODPATH.'orm',        // Object Relationship Mapping
   // 'unittest'   => MODPATH.'unittest',   // Unit testing
   // 'userguide'  => MODPATH.'userguide',  // User guide and API documentation
    'pagination'   => MODPATH.'pagination',   // pagination 
   ));

创建一个Task目录

在\kohana-v\application\classes目录下创建一个Task目录,这里可以放自己需要执行的PHP文件
在这里插入图片描述
在Task下创建了一个目录user和Demo.php的例子
在这里插入图片描述
打开Demo.php,内容如下:

<?php defined('SYSPATH') or die('No direct script access.');

class Task_Demo extends Minion_Task
{
    //构造函数,默认加载
    public function __construct() {
        parent::__construct();
       echo $today_start = date("Y-m-d H:i:s",time());
       echo "\n";//换行
    }
    /**
     * This is a demo task
     *
     * @return null
     */
    protected function _execute(array $params)
    {
       echo $data = $this->overdue_repay();
        $str = "";
        echo $str;
    }
    //创建了一个返回当前时间的方法
    public function overdue_repay()
    {
        $today_start = date("Y-m-d H:i:s",time());
        return $today_start;
    }
}

在命令行执行,就会将内容读取出来,如下图:
在这里插入图片描述
执行带目录的task目录文件,
在User目录中创建了UserList.php文件
在这里插入图片描述
UserList.php目录内容如下:

<?php
defined('SYSPATH') or die('No direct script access.');
/**
 * Created by PhpStorm.
 * User: aiya
 * Date: 16/6/25
 * Time: 下午10:05
 *
 * 定时读取用户列表
 */
class Task_User_UserList extends Minion_Task {
   
    public function __construct() {
        parent::__construct();
    }
    public function _execute(array $param) {
       echo "1234\n";
        $rs = DB::select()->from('users')->execute()->as_array();
        if(count($rs)){         
            echo date('Y-m-d H:i:s')." ".__CLASS__."\trows:".count($rs)."\r\n";
            foreach($rs as $v){
                echo 'User_ID:'.$v['id']."\tUser_Name:".$v['username'];
             
                echo "\r\n";
            }
            echo date('Y-m-d H:i:s')." ".__CLASS__."\tend  \r\n";
        }
    }
}

写命令脚本

在命令行中切换到对应的网站根目录,执行:php index.php --task=User_UserList
在这里插入图片描述
与数据库中的数据一致
在这里插入图片描述
我们可以写成shell脚本,加入计划任务,定期在后台执行

#!/bin/bash
#每30秒执行一次
while [ 1 ]
do
php  /wamp/www/kohana-v/index.php --task=User_UserList
sleep 30
done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值