silverstripe-australia/silverstripe-schedulizer

该软件包已被 废弃 并不再维护。作者建议使用 symbiote/silverstripe-schedulizer 软件包。

一个用于在未来的任意时间组织事件发生的模块,与QueuedJobs配合使用很有用

2.0.4 2018-01-15 22:18 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:54:33 UTC


README

一个有趣的功能模块,用于在未来的任意时间组织事件发生。

维护者联系方式

需求

  • SilverStripe 3.1

使用方法

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

配置计划

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

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

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

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

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

创建计划

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

修改计划

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

许可证

本模块根据BSD许可证在 http://silverstripe.org/BSD-license 下授权