symiote/silverstripe-schedulizer

一个模块,用于安排在未来任意时间发生的事情,与 QueuedJobs 一起使用很有用

安装: 593

依赖项: 0

建议者: 0

安全: 0

星级: 3

观察者: 4

分支: 2

开放问题: 1

类型:silverstripe-module

2.0.4 2018-01-15 22:18 UTC

This package is auto-updated.

Last update: 2024-09-13 14:37:09 UTC


README

一个有趣的模块,用于安排在未来任意时间发生的事情。

维护者联系方式

需求

  • SilverStripe 3.1

用法

  • 通过 CMS 管理员创建配置计划
  • 从代码中调用
    • ConfiguredSchedule::get()->filter('Title', $name)->first()->getNextScheduledDateTime();

配置计划

对于一项工作,计划的读取具有特定的优先级;首先加载 '默认' 计划。评估所有其他计划,以查看它们是否适用于 "当前" 时间;如果是,则用具有更高重要性的计划替换,按顺序增加

  • A ScheduleRangeDayType (例如,工作日,周末)
  • A ScheduleRangeDay (例如,星期一,星期二)
  • A ScheduleRange (例如,特定日期)

这允许配置一个计划集,例如

  • 默认 - 每天 6am - 6pm,直到 2020 年
  • 周末 - 9am - 5pm
  • 星期四 - 6am - 9pm
  • 2015 年 12 月 25 日 - 10am - 2pm

确定计划按顺序评估每个计划,并选择最具体的一个

创建计划

  • 打开 admin/schedulizer/.
  • 创建一个新计划 - 对于 QueuedJobs 的使用,使用与作业类名相同的名称
  • 创建一个新的计划范围;第一个应该命名为 "默认" 并具有 "ScheduleRangeDefault" 类型。这是将使用的基准计划
  • 如果需要,添加其他计划
  • 通过输入日期/时间(YYYY-MM-DD hh:mm:ss 格式)并点击 "测试" 来测试计划 - 这将更新为该计划检测到的下一个 'tick' 时间。

修改计划

  • 打开 admin/schedulizer/
  • 选择要修改的计划
  • 在 "计划范围" 标签页上,选择要修改的计划
  • 修改相关字段
  • 保存并关闭,然后按照上述方式测试新计划。

许可证

本模块采用 BSD 许可证,详情请见 http://silverstripe.org/BSD-license