一个用于在未来任意时间组织事物的 SilverStripe 模块,与 QueuedJobs 结合使用很有用

安装: 11

依赖项: 0

建议者: 0

安全性: 0

星星: 0

关注者: 2

分支: 2

类型:silverstripe-vendormodule

4.0.0 2023-07-11 01:53 UTC

README

一个用于在未来的任意时间组织事物的有趣模块。

维护者联系方式

要求

  • SilverStripe 3.1

用法

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

配置计划

对于一项任务,计划以特定优先级读取;首先加载 '默认' 计划。所有其他计划都将评估是否适用于 "当前" 时间;如果是,则按重要性递增的顺序替换所需计划

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

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

  • 默认 - 每天 6 点到 18 点,直到 2020 年
  • 周末 - 每天 9 点到 17 点
  • 星期四 - 每天 6 点到 21 点
  • 2015 年 12 月 25 日 - 10 点到 14 点

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

创建一个计划

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

修改计划

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

许可协议

此模块根据 http://silverstripe.org/BSD-license 下的 BSD 许可协议授权