1.第一步,安装最新的taskPHP

composer require taskphp/taskphp dev-master

2.第二步, 配置TP5项目的 application/command.php 文件

return [

'app\crontab\Taskphp',

];

第三步, 创建Taskphp命令文件 application/index/command/Taskphp.php

namespace app\crontab;

use think\console\Command;

use think\console\Input;

use think\console\input\Argument;

use think\console\Output;

define('APP_PATH', __DIR__);

require_once APP_PATH . '/../../vendor/taskphp/taskphp/src/taskphp/base.php';

class Taskphp extends Command

{

protected function get_config()

{

return [

//任务列表

'task_list' => [

//key为任务名,多任务下名称必须唯一

'demo' => [

'callback' => ['app\\crontab\\Demo', 'run'],//任务调用:类名和方法

//指定任务进程最大内存 系统默认为512M

'worker_memory' => '10M',

//开启任务进程的多线程模式

'worker_pthreads' => false,

//任务的进程数 系统默认1

'worker_count' => 1,

//crontad格式 :秒 分 时 天 月 年 周

'crontab' => '/5 * * * * * *',

],

'test' => [

'callback' => ['app\\crontab\\Demo', 'test'],//任务调用:类名和方法

//指定任务进程最大内存 系统默认为512M

'worker_memory' => '10M',

//开启任务进程的多线程模式

'worker_pthreads' => false,

//任务的进程数 系统默认1

'worker_count' => 1,

//crontad格式 :秒 分 时 天 月 年 周

'crontab' => '/5 * * * * * *',

],

],

];

}

protected function configure()

{

$this->addArgument('param', Argument::OPTIONAL);

// 设置命令名称

$this->setName($_SERVER['argv'][1])->setDescription('this is a taskphp!');

}

protected function execute(Input $input, Output $output)

{

//系统配置

$config = $this->get_config();

//加载配置信息

\taskphp\Config::load($config);

//定义启动文件入口标记

define("START_PATH", dirname(APP_PATH));

//运行框架

\taskphp\App::run();

}

}

第四步, 创建Demo任务文件 application/crontab/Demo.php

namespace app\crontab;

use taskphp\Utils;

class Demo

{

public static function run()

{

Utils::log('run开始时间:' . date('Y-m-d H:i:s'));

}

public static function test()

{

Utils::log('test开始时间:' . date('Y-m-d H:i:s'));

}

}

第五步,大功告成开始使用

php think start demo

然后就出现

clipboard.png

查了下taskphp生成的日志问题提示:出现缺少queue.db 文件

[2019-08-27 10:54:28.90645100][DEBUG]:create E:\appback\runtime\crontab\queue.db error

[2019-08-27 10:54:35.16849900][DEBUG]:create E:\appback\runtime\crontab\queue.db error

[2019-08-27 10:54:35.17215400][DEBUG]:taskPHP daemon pid:17360 Stop

[2019-08-27 10:54:35.24464400][DEBUG]:create E:\appback\runtime\crontab\queue.db error

发现taskphp默认找的是 Sqlite 驱动类型 ,这里切换为Redis(注:记得开启PHP redis扩展)

//系统队列配置

'queue'=>[

//驱动类型 Shm|Redis|Sqlite|Mysql 生产环境推荐使用Shm或者Redis驱动 由于Mysql和Sqlite有I/O 相对来说Mysql和Sqlite性能比较差

'drive' => 'Redis',

],

再次启动

php think start demo

1clipboard.png

php tp3.0计算每天的订单,TP5.1结合taskphp3.0定时任务相关推荐

  1. c语言 n阶阶乘尾0个数,计算n的阶乘(n!)末尾0的个数

    题目: 给定一个正整数n,请计算n的阶乘n!末尾所含有"0"的个数. 举例: 5!=120,其末尾所含有的"0"的个数为1: 10!= 3628800,其末尾所 ...

  2. 在OpenCV环境下写的灰度图像二维傅里叶换,幅值计算,频谱平移和将数值归一化到0到255区间的四个函数

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 灰度图像的二维傅里叶变换(cv_gray_fft ...

  3. 在线下单系统think php,昱杰订单管理系统(ThinkPHP版) v19.0

    昱杰订单管理系统(ThinkPHP版)是根据thinkphp框架来进行开发的php订单管理系统. 昱杰订单管理系统介绍 一.订单模块 1.订单管理:后台可视化管理订单,追踪客户下单IP及来路,下单后第 ...

  4. 解决win7 若要安装Office2010,需要在计算机上安装MSXML版本6.10.1129.0 问题

    安装Office遇到了若要安装Office2010,需要在计算机上安装MSXML版本6.10.1129.0.我就具体教教大家怎么解决这个问题.(很多朋友注册表里找不到6.0来问我,请记得查看最后一个步 ...

  5. 4-2 多项式求值   (15分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式 f(x)=∑i=0n(a[i]×xi)f(x)=\sum_{i=0}^{n}(a[i]

    4-2 多项式求值   (15分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑i=0n(a[i]×xi)f(x)=\sum_{i=0}^{n}(a[i]\ ...

  6. 6-2 多项式求值(15 分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ ​i=0 ​n ​​ (a[i]×x ​i ​​ ) 在x点的值。

    题目链接:https://pintia.cn/problem-sets/14/problems/734 提交: double f( int n, double a[], double x ) {   ...

  7. ArcGIS计算NDVI为什么只有1和-1及0值

    在遥感影像的应用中,归一化植被指数是非常常用的一个指标,是反映农作物长势和营养信息的重要参数之一,在专业处理遥感影像的应用软件(ENVI.ERDAS等)中都有直接的工具可以来计算NDVI.NDVI的计 ...

  8. 禁用xla之后,源码编译TensorFlow1.13.1成功,测试运行3.0计算能力的GPU显卡K2100M成功!

    禁用xla之后,源码编译TensorFlow1.13.1成功,测试运行3.0计算能力的GPU显卡K2100M成功! 源码编译的[tensorflow-1.13.1-cp36-cp36m-linux_x ...

  9. tp3.2中jquery查询订单信息

    第一步:控制器里: public function lookorder(){             $date=I('post.date');             $da=explode(' - ...

最新文章

  1. GridView隐藏列取值解决方案
  2. 掌握AI核心技巧,一站式数据采集处理与智能识别公开课
  3. 一个小米SRE的日常问题排查记录
  4. thrift使用小记
  5. 再谈PHP、Python与Ruby
  6. python execfile_python中eval, exec, execfile,和compile [转载]
  7. “全国住房公积金”微信小程序正式上线 快速办理“异地转移”
  8. DNS 服务器 4013警告信息的解决
  9. 总结之:CentOS 6.5 LAMP分主机平台的搭建及测试
  10. 强大的代码编辑工具:Nova for mac v7.3中文版
  11. 欧姆龙plc学习笔记(六)(从cx-one上传程序到欧姆龙plc)
  12. 学会洞察行业,让选择大于努力
  13. 指针练习 - 使用指针找出函数中最大值和最小值
  14. 3-订单持续时间的计算
  15. 安装Kaggle库,常见问题上之目录中没有.kaggle文件夹(附解决办法!)
  16. e7用什么主板_八路E7的下场如何?盘点历代至尊版处理器现价
  17. python培训就业班的服务好不好,在培训班学完Python为什么不好就业?
  18. Ubuntu 安装 eyeOS
  19. k8s和harbor的集成_Harbor与K8s的集成实践
  20. ROC-RK3588-PC 八核8K人工智能开源主板

热门文章

  1. BTC 缓步推升,BCH 再拔头筹
  2. oracle 12c多租户下的日常操作变化
  3. 稳扎稳打Silverlight(29) - 2.0Tip/Trick之Cookie, 自定义字体, 为程序传递参数, 自定义鼠标右键...
  4. Oracle锁与数据库性能
  5. 小技巧-取消新版outlook中应用商店加载项
  6. 产品力挺PHP完爆Java
  7. 〖Android〗Android App项目资源字符串检查(检查是否缺少对应的翻译,导致系统切换语言后崩溃)...
  8. Java多线程面试题
  9. [翻译] DTCoreText 从HTML文档中创建富文本
  10. Linux 下 hosts 应用