egorspk/yii2-scheduler

Yii2 调度模块

安装: 301

依赖: 0

建议者: 0

安全性: 0

星星: 1

关注者: 1

分支: 3

开放问题: 0

类型:yii2-extension

1.0.3 2019-05-10 14:26 UTC

This package is auto-updated.

Last update: 2024-08-29 04:42:22 UTC


README

yii2 的 cron 任务调度模块。功能

  • 任务管理(创建、修改、删除);
  • 手动启动任务或按 cron 调度运行任务;
  • 跟踪任务的结果;
  • Ajax 用户界面。

安装

安装此扩展的首选方式是通过 composer。可以运行

composer require egorspk/yii2-scheduler

或添加

"egorspk/yii2-scheduler": "^1.0"

到您的 composer.json 文件的 require 部分。

随后,运行

yii migrate/up --migrationPath=@vendor/egorspk/yii2-scheduler/migrations

以在您的数据库中创建所需的表。

用法

  1. 将此添加到您的 web 和控制台配置模块数组中
'modules' => [
  'scheduler' => [
      'class' => 'spk\scheduler\Module'
    ],
   ...
],
  1. 接下来,将此行添加到您的 crontab 文件中
*/5 * * * * cd /project_path/; /php_path/php yii scheduler/run

其中

  • /project_path/ - 您的 yii2 项目路径(例如,/var/www/yii/);
  • /php_path/ php - php 的路径(例如,/usr/bin/php)。

设置(web 配置)

  • defaultFolder - 可以用作任务的类的方法的文件夹路径(默认值:@app/models);
  • folderDepth - 默认情况下,通过 defaultFolder 路径搜索类方法的深度(默认值:0)。

配置示例

'modules' => [
  'scheduler' => [
      'class' => 'spk\scheduler\Module',
      'defaultFolder' => __DIR__ . '/../models/scheduler',
      'folderDepth' => 0
    ],  
   ...
],

任务(方法)

该方法必须返回布尔类型值。True - 任务成功。

所有 echo 调用都将写入任务的日志。

用户界面

用户界面分为 3 个标签页

  • 任务列表;

Task list

  • 添加/编辑任务;

Add/Edit task

  • 任务执行日志。

Logs

注意

  • img 文件夹仅用于 README.md;

  • 文件 scheduler.mwb - MySQL Workbench 程序的数据库项目。

许可协议

MIT