一个用于在未来任意时间组织事物的 SilverStripe 模块,与 QueuedJobs 结合使用很有用
4.0.0
2023-07-11 01:53 UTC
Requires
- silverstripe/recipe-cms: ^4.0 || ^5.0
Replaces
This package is not auto-updated.
Last update: 2024-09-17 12:31:07 UTC
README
一个用于在未来的任意时间组织事物的有趣模块。
维护者联系方式
- Stephen McMahon stephen@symbiote.com.au
- Marcus Nyeholt marcus@symbiote.com.au
要求
- 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 许可协议授权