在Yii2.0中实现计划任务(cron)

时间:2022-09-12 22:22:11

以下由我们在信易网络公司开发项目的时候终结出的一些经验

Create console application

创建命令行应用

In advance template there is already a file yii. And there is no need to run it as php, it is Linux script.

在高级模版中的 yii 文件,它是一个 Linux 脚本,不需要使用PHP来运行。

Create cron service command

创建计划任务服务命令

Create a controller in console/controllers

在 console/controllers 文件夹下创建一个控制器

I have created as TestController.php

我创建了一个名为 TestController.php 的文件

<?php

  
namespace console\controllers;
  
use yii\console\Controller;
  
/**
 * Test controller
 */
class TestController extends Controller {
  
    public function actionIndex() {
        echo "cron service runnning";
    }
  
    public function actionMail($to) {
        echo "Sending mail to " $to;
    }
  
}

This controller should be use the console controller name space

这个控制器应当使用命令行控制器的命名空间

use yii\console\Controller;

How to run it

如何运行

run it as

使用如下方式运行

yii test

I have test it on windows by running

我在 windows 下使用如下方式运行

D:\xampp\htdocs\yii2>d:\xampp\php\php yii test

cron service runnning
D:\xampp\htdocs\yii2>

How to pass params

如何传递参数

yii test/mail [--to="hemctest@gmail.com"]

in windows for test it run as

在 windows 中测试如下

D:\xampp\htdocs\yii2>d:\xampp\php\php yii test/mail [--to="hemctest@gmail.com"]

Sending mail to [--to=hemctest@gmail.com]

官方命令行应用开发文档见此

英文原文: How to implement cron in Yii 2

本文由专注于成都网站建设的信易网络发布,更多关于yii的信息请关注信易网络随后的发布,信易网络的官网http://www.ir58.com

 

在Yii2.0中实现计划任务(cron)的更多相关文章

  1. yii2&period;0中url重写实现方法

    在yii框架里有前台和后台页面,举例前台url重写. 控制器与路由 控制器以Controller作为后缀,继承自yii\web\Controller; 动作以action作为前缀,public访问修饰 ...

  2. yii2&period;0 中的队列

    a yii2 extension to make simple to use queue. yii2-queue让队列的使用在yii2中变得更轻松,她为各种队列组件的使用提供了一个标准的接口,您只需要 ...

  3. YII2&period;0中实现高级注册

    如何在不修改逻辑代码的情况下完美解决以上三个问题?看了下面的教程,一目了然! 以高级版2.0.6为例,打开/frontend/models/SignupForm.php class SignupFor ...

  4. Yii2&period;0中场景的使用小记

    熟悉Yii框架的人都知道,灵活的使用场景可以达到事半功倍的效果! 比如普通的数据的新增.修改,新增需要验证其中两个字段,而修改只需要验证其中一个字段:还有种情况,也是我们现在用到的,同一张表(同一个m ...

  5. yii2&period;0中Rbac 怎么添加超加管理员

    最笨的是定义常量.具体怎么做?看下面: //定义在控制器声明上面define('BEST_PHPER',serialize(array('admin','admin1')));//设置admin管理员 ...

  6. yii2&period;0中数据缓存之增删改查

    public function actionSss(){ /* * 获取到缓存 * 这里是获取的是根目录下 的common/main.php中的缓存类组件 * */ $cache=\Yii::$app ...

  7. yii2&period;0中解决post的400错误

    不想用gii的表单自己写表单,但是又遇到了400错误,怎么解决?下面为你解答一下:

  8. 在yii2&period;0中封装一个生成验证码的控制器

    frontend目录下/封装的验证码类: <?php namespace frontend\controllers; use yii\base\Controller; class CapathC ...

  9. Yii2&period;0中form-&gt&semi;field如何获取主表的一个字段并且设置为只读

    <?= $form->field($model, 'last_login_time')->textInput(['readonly' => 'true']) ?>

随机推荐

  1. Java框架Struts2

    struts2的核心和工作原理   在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于we ...

  2. Kubernetes系统架构简介

    1. 前言 Together we will ensure that Kubernetes is a strong and open container management framework fo ...

  3. &lbrack;CareerCup&rsqb; 7&period;1 Basketball Shooting Game 投篮游戏

    7.1 You have a basketball hoop and someone says that you can play one of two games. Game 1: You get ...

  4. hdu 4455 动态规划

    思路:用sum[i]表示区间长度为i的不相同数的个数和,假使所有的数都不相同,那么sum[i]=sum[i-1]+n-i+1-later[i-1]; later[i-1]表示的是序列最后面的长度为i- ...

  5. poj2262

                                                                                                   Goldb ...

  6. boost 定时器&period;

    #include <iostream> #include <boost/asio.hpp> int main() { boost::asio::io_service io; b ...

  7. ntopng汉化记录

    对应版本为 ntopng-1.2.0_r8116.tgz 1.

  8. APP包打包签名步骤

    开发混合app上架应用市场,需要进行应用签名,但是申请签名如果没搞过,会特别麻烦,所以我自自己总结了一下申请的步骤,在此记录一下 1.首先需要下载安装java环境即jdk, 2.配置环境变量 假设JD ...

  9. 009 使用servlet API作为参数

    1.哪些可以使用 MVC中的Handler方法可以接受ServletAPI类型的参数. 2.controller package com.spring.it; import java.io.IOExc ...

  10. Bukkit插件编程之检测玩家受到的伤害是来自投射类武器还是近身武器

    package com.sklm.lhb.listener; import org.bukkit.entity.Arrow; import org.bukkit.entity.Player; impo ...