xieyongfa/think-crontab 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

xieyongfa/think-crontab

Composer 安装命令:

composer require xieyongfa/think-crontab

包简介

The ThinkPHP5.1.* Crontab Package

README 文档

README

安装

composer require xieyongfa/think-crontab

开始使用

创建如下数据表

CREATE TABLE `crontab`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '任务名',
  `class` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '类名',
  `payload` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL NOT NULL COMMENT '参数',
  `last_execute_time` datetime(0) NOT NULL COMMENT '上次执行时间',
  `next_execute_time` datetime(0) NOT NULL COMMENT '下次执行时间',
  `status` tinyint(2) NOT NULL DEFAULT 1 COMMENT '0禁用 1启用',
  `interval_sec` int(11) NOT NULL DEFAULT 60 COMMENT '执行间隔 单位秒',
  `create_time` datetime(0) NOT NULL COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

创建计划任务

push_crontab($name, $class, $payload = [], $interval_sec = 60)

$name 是任务名

$class 是类名

$payload 是参数 数组格式

$interval_sec 是任务执行周期 默认60秒

创建计划任务例子

$payload = ['name' => 'thinkphp'];
push_crontab('test', 'app\\test\\controller\\echo_date', $payload, 60);

监听计划并执行,强烈建议配合supervisor使用,保证进程常驻

php think crontab --sleep=60 --memory=8

sleep参数:间隔多久查询一次 单位秒 memory参数:单个进程消耗内存超过多少M自动退出(配合supervisor可达到自动重启效果,防止内存溢出)

开发帮助及交流

  • 作者QQ:2392523899
  • 开发交流QQ群:453142313(新)

统计信息

  • 总下载量: 39
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2018-11-08

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固