symiote / silverstripe-schedulizer
一个模块,用于安排在未来任意时间发生的事情,与 QueuedJobs 一起使用很有用
2.0.4
2018-01-15 22:18 UTC
Requires
- silverstripe/framework: ~3.1
Replaces
README
一个有趣的模块,用于安排在未来任意时间发生的事情。
维护者联系方式
- Stephen McMahon stephen@symbiote.com.au
- Marcus Nyeholt marcus@symbiote.com.au
需求
- 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