MuleSoft - 端點



端點基本上包括那些在 Mule 應用程式工作流程中觸發或啟動處理的元件。它們在 Anypoint Studio 中被稱為,在 Mule 的設計中心被稱為觸發器。Mule 4 中一個重要的端點是排程程式元件

排程程式端點

此元件基於時間條件工作,這意味著它使我們能夠在滿足基於時間的條件時觸發流程。例如,排程程式可以觸發一個事件,以每隔 10 秒啟動一個 Mule 工作流程。我們還可以使用靈活的 Cron 表示式來觸發排程程式端點。

關於排程程式的重要說明

使用排程程式事件時,需要注意以下幾點:

  • 排程程式端點遵循 Mule 執行時所在的機器的時區。

  • 例如,如果 Mule 應用程式在 CloudHub 上執行,則排程程式將遵循 CloudHub 工作程式所在區域的時區。

  • 在任何給定時間,只有一個由排程程式端點觸發的流程可以處於活動狀態。

  • 在 Mule 執行時叢集中,排程程式端點僅在主節點上執行或觸發。

配置排程程式的方法

如上所述,我們可以將排程程式端點配置為以固定的時間間隔觸發,也可以提供 Cron 表示式。

配置排程程式的引數(對於固定時間間隔)

以下是將排程程式設定為定期觸發流程的引數:

頻率 - 它基本上描述了排程程式端點將觸發 Mule 流程的頻率。此時間的單位可以從“時間單位”欄位中選擇。如果您沒有為此提供任何值,它將使用預設值 1000。另一方面,如果您提供 0 或負值,它也將使用預設值。

啟動延遲 - 這是應用程式啟動後,我們必須等待多長時間才能第一次觸發 Mule 流程。啟動延遲的值以與頻率相同的時間單位表示。其預設值為 0。

時間單位 - 它描述了頻率和啟動延遲的時間單位。時間單位的可能值是毫秒、秒、分鐘、小時、天。預設值為毫秒。

配置排程程式的引數(對於 Cron 表示式)

實際上,Cron 是用於描述時間和日期資訊的標準。如果您使用靈活的 Cron 表示式來使排程程式觸發,則排程程式端點會跟蹤每一秒,並在 Quartz Cron 表示式與時間日期設定匹配時建立 Mule 事件。使用 Cron 表示式,事件可以只觸發一次或定期觸發。

下表給出了六個必需設定的日期時間表達式:

屬性
0-59
分鐘 0-59
小時 0-23
月份中的日期 1-31
月份 1-12 或 JAN-DEC
星期幾 1-7 或 SUN-SAT

排程程式端點支援的一些 Quartz Cron 表示式示例如下:

  • ½ * * * * ? - 表示排程程式每天每 2 秒執行一次。

  • 0 0/5 16 ** ? - 表示排程程式從下午 4 點開始,每 5 分鐘執行一次,到下午 4:55 結束,每天如此。

  • 1 1 1 1, 5 * ? - 表示排程程式每年的一月一日和四月一日執行一次。

示例

以下程式碼每秒記錄一次訊息“hi”:

<flow name = "cronFlow" doc:id = "ae257a5d-6b4f-4006-80c8-e7c76d2f67a0">
   <doc:name = "Scheduler" doc:id = "e7b6scheduler8ccb-c6d8-4567-87af-aa7904a50359">
      <scheduling-strategy>
         <cron expression = "* * * * * ?" timeZone = "America/Los_Angeles"/>
      </scheduling-strategy>
   </scheduler>
   <logger level = "INFO" doc:name = "Logger" 
      doc:id = "e2626dbb-54a9-4791-8ffa-b7c9a23e88a1" message = '"hi"'/>
</flow>
廣告
© . All rights reserved.