ScheduleMaker実装サービス jp.ossc.nimbus.service.scheduler2.DateKeyConditionScheduleMakerService

jp.ossc.nimbus.service.scheduler2.DateKeyConditionScheduleMakerServiceは、スケジュール日付が日付キーの条件に合致する場合にスケジュールを作成するScheduleMaker実装サービスです。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.scheduler.DateEvaluator日付キーを拡張する。

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- ScheduleMakerサービス -->
  8. <service name="WeekdayScheduleMaker"
  9. code="jp.ossc.nimbus.service.scheduler2.DateKeyConditionScheduleMakerService">
  10. <!-- 日付キーを設定する -->
  11. <attribute name="DateKey">WEEK@MONDAY OR WEEK@TUESDAY OR WEEK@WEDNESDAY OR WEEK@THURSDAY OR WEEK@FRIDAY</attribute>
  12. </service>
  13. <!-- ScheduleMakerサービス -->
  14. <service name="WeekendScheduleMaker"
  15. code="jp.ossc.nimbus.service.scheduler2.DateKeyConditionScheduleMakerService">
  16. <!-- 日付キーを設定する -->
  17. <attribute name="DateKey">WEEK@SATURDAY OR WEEK@SUNDAY</attribute>
  18. </service>
  19. <!-- ScheduleManagerサービス -->
  20. <service name="ScheduleManager"
  21. code="jp.ossc.nimbus.service.scheduler2.DefaultScheduleManagerService">
  22. <attribute name="ScheduleMasterServiceNames">
  23. #ScheduleMaster1
  24. #ScheduleMaster2
  25. #ScheduleMaster3
  26. </attribute>
  27. <attribute name="ScheduleMakerTypeMapping">
  28. 平日=#WeekdayScheduleMaker
  29. 休日=#WeekendScheduleMaker
  30. </attribute>
  31. <attribute name="PersistDir">./schedule</attribute>
  32. <depends>WeekdayScheduleMaker</depends>
  33. <depends>WeekendScheduleMaker</depends>
  34. <depends>
  35. <!-- スケジュールマスタ1
  36. 08:00:00にFlow1を実行するスケジュール
  37. -->
  38. <service name="ScheduleMaster1"
  39. code="jp.ossc.nimbus.service.scheduler2.DefaultScheduleMaster">
  40. <attribute name="Id">Schedule1</attribute>
  41. <attribute name="TaskName">Flow1</attribute>
  42. <attribute name="StartTime">// 08:00:00 000</attribute>
  43. <attribute name="ScheduleType">平日</attribute>
  44. </service>
  45. </depends>
  46. <depends>
  47. <!-- スケジュールマスタ2
  48. スケジュールマスタ1の終了を待って、08:00:00にFlow2を実行するスケジュール
  49. -->
  50. <service name="ScheduleMaster2"
  51. code="jp.ossc.nimbus.service.scheduler2.DefaultScheduleMaster">
  52. <attribute name="Id">Schedule2</attribute>
  53. <attribute name="TaskName">Flow2</attribute>
  54. <attribute name="StartTime">// 08:00:00 000</attribute>
  55. <attribute name="Input">100</attribute>
  56. <attribute name="Depends">Schedule1</attribute>
  57. <attribute name="ScheduleType">休日</attribute>
  58. </service>
  59. </depends>
  60. <depends>
  61. <!-- スケジュールマスタ3
  62. スケジュールマスタ2の終了を待って、08:01:00から08:02:00まで5秒間隔にFlow3を実行するスケジュール
  63. -->
  64. <service name="ScheduleMaster3"
  65. code="jp.ossc.nimbus.service.scheduler2.DefaultScheduleMaster">
  66. <attribute name="Id">Schedule3</attribute>
  67. <attribute name="TaskName">Flow3</attribute>
  68. <attribute name="StartTime">// 08:01:00 000</attribute>
  69. <attribute name="EndTime">// 08:02:00 000</attribute>
  70. <attribute name="RepeatInterval">5000</attribute>
  71. <attribute name="Depends">Schedule2</attribute>
  72. <attribute name="ScheduleType">毎日</attribute>
  73. </service>
  74. </depends>
  75. </service>
  76. </manager>
  77. </server>


スケジューラ/高機能スケジューラ/ScheduleMaker