Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » QAnywhere » QAnywhere 参考 » 服务器管理请求参考 » 服务器管理请求父标记

 

Schedule 标记

可以选择将服务器管理请求设置为根据调度运行。使用以下 <schedule> 子标记定义请求据以运行的调度。

<schedule> 子标记

说明

<starttime>

定义一天中服务器开始生成报告的时间。例如:

<starttime>09:00:00</starttime>

<between>

包含两个子标记,starttime 和 endtime,它们定义服务器生成报告的时间间隔。不能与 starttime 用在同一调度中。例如:

<between>
  <starttime>Mon Jan 16 09:00:00 EST 2006</starttime>
  <endtime>Mon Jan 17 09:00:00 EST 2006</endtime>
</between>

<everyhour>

定义后续报告之间的时间间隔(以小时为单位)。不能与 everyminute 或 everysecond 用在同一调度中。例如,以下请求从 9 AM 开始每两小时生成一个报告:

<schedule>
  <starttime>09:00:00</starttime>
  <everyhour>2</everyhour>
</schedule>

<everyminute>

定义后续报告之间的时间间隔(以分钟为单位)。不能与 everyhour 或 everysecond 用在同一调度中。

<schedule>
  <everyminute>10</everyminute>
</schedule>

<everysecond>

定义后续报告之间的时间间隔(以秒为单位)。不能与 everyhour 或 everyminute 用在同一调度中。

<schedule>
  <everysecond>45</everysecond>
</schedule>

<ondayofweek>

每个标记包含一周中调度处于活动状态的一天。例如,以下调度在星期一和星期二运行:

<schedule>
  <ondayofweek>Monday</ondayofweek>
  <ondayofweek>Tuesday</ondayofweek>
</schedule>

<ondayofmonth>

每个标记包含一月中调度处于活动状态的一天。例如,以下调度在月的 15 号运行:

<schedule>
  <ondayofmonth>15</ondayofmonth>
</schedule>

<startdate>

调度转为活动状态的日期。例如:

<startdate>Mon Jan 16 2006</startdate>

要修改一个调度,请使用同一个 requestId 注册新服务器管理请求。要删除一个调度,使用同一个 requestId 注册服务器管理请求,但要包括调度标记 <schedule>none</schedule>

注意
  • 除了 <ondayofweek> 和 <ondayofmonth> 标记外,每个标记在一个调度中只能使用一次。

  • <between> 标记和单个 <starttime> 标记不能在同一个调度中同时使用。

  • 在同一个调度中仅可以使用 <everysecond>、<everyminute> 和 <everyhour> 中的一个。

示例

以下示例创建一个持久调度,该调度报告服务器上的所有消息,包括每条消息的 ID 和状态。它还覆盖以前指派给请求 ID dailyMessageStatus 的任何持久请求。

<?xml version="1.0" encoding="UTF-8"?>
<actions>
  <MessageDetailsRequest>
   <request>
     <replyAddr>myclient\messageStatusQueue</replyAddr>
     <requestId>dailyMessageStatus</requestId>
     <schedule>
       <everyhour>24</everyhour>
     </schedule>
     <persistent/>
     <messageId/>
     <status/>
   </request>
  </MessageDetailsRequest>
</actions>

以下是一个可能得到的报告样例。它被发送到地址 myclient\messageStatusQueue。它表示服务器上有两条消息,一条状态为 60(已接收),另一条状态为 1(待执行)。

<?xml version="1.0" encoding="UTF-8"?>
<MessageDetailsReport>
   <requestId>dailyMessageStatus</requestId>
   <UTCDatetime>Mon Jan 16 15:03:04 EST 2007</UTCDatetime>
   <statusDescription>Scheduled report</statusDescription>
   <messageCount>2</messageCount>
   <message>
     <messageId>ID:26080b8927f83f9722357eab0a0628eb</messageId>
     <status>60</status>
   </message>
   <message>
     <messageId>ID:fe857fa8-a7d7-4266-985b-a1818a85d1a2</messageId>
     <status>1</status>
   </message>
</MessageDetailsReport>