文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Yii2 创建定时任务

2023-08-31 16:18

关注

在我们项目开发中,需要使用定时任务来完成批处理业务,下面通过Yii2框架来实现定时任务

Yii2框架定时任务代码统一放在 ./console 目录下

简单的定时任务脚步文件

首先在console/controller目录下创建一个定时任务控制器TestController.php

namespace console\controllers;use yii\console\Controller;class TestController extends Controller{        public function actionDo()    {        echo 'hello test console';    }}

在控制台运行命令php yii,会看到test控制下的do方法

······- test    test/do                        执行测试脚本

执行脚步命令php yii 控制器名/方法名,会输出

php yii test/dohello test console

这就完成了一个简单的定时任务脚步控制器

传递参数

如果需要传递参数

namespace console\controllers;use yii\console\Controller;class TestController extends Controller{        public $param1;        public $param2;        public function options($actionID)    {        return [            'param1',            'param2',        ];    }        public function actionDo()    {        echo $this->param1 . PHP_EOL;        echo $this->param2 . PHP_EOL;    }}

其中 param1param2就是参数,执行脚步命令php yii 控制器名/方法名 --参数= ····

php yii test/do --param1=123 --param2=hello123hello

设置参数别名

如果需要给参数设置别名

namespace console\controllers;use yii\console\Controller;class TestController extends Controller{        public $param1;        public $param2;        public function options($actionID)    {        return [            'param1',            'param2',        ];    }        public function optionAliases()    {        return [            'p1' => 'param1',            'p2' => 'param2'        ];    }        public function actionDo()    {        echo $this->param1 . PHP_EOL;        echo $this->param2 . PHP_EOL;    }}

其中 p1p2就是参数的别名,执行脚步命令php yii 控制器名/方法名 --参数= ····

php yii test/do -p1=123 -p2=hello123hello

注意:设置参数别名后,使用别名参数用一个横杆(-)链接。

在Linux配置crontab

执行命令crontab -e,我们以每分钟执行一次为例

*/1 * * * * /usr/bin/php /var/www/html/yii2-project/yii test/do >/dev/null 2>&1

其中

保存退出即可。

来源地址:https://blog.csdn.net/xinyflove/article/details/126605340

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯