MuleSoft - Điểm cuối

Điểm cuối về cơ bản bao gồm những thành phần kích hoạt hoặc bắt đầu xử lý trong luồng hoạt động của ứng dụng Mule. Họ được gọi làSource trong Anypoint Studio và Triggerstrong Trung tâm Thiết kế của Mule. Một điểm cuối quan trọng trong Mule 4 làScheduler component.

Điểm cuối của bộ lập lịch

Thành phần này hoạt động trên các điều kiện dựa trên thời gian, có nghĩa là, nó cho phép chúng tôi kích hoạt luồng bất cứ khi nào điều kiện dựa trên thời gian được đáp ứng. Ví dụ: một bộ lập lịch có thể kích hoạt một sự kiện để bắt đầu quy trình làm việc Mule cứ sau 10 giây. Chúng tôi cũng có thể sử dụng biểu thức Cron linh hoạt để kích hoạt Điểm cuối của bộ lập lịch.

Những điểm quan trọng về Trình lập lịch

Trong khi sử dụng sự kiện Trình lập lịch, chúng ta cần lưu ý một số điểm quan trọng như được cung cấp bên dưới:

  • Điểm cuối của Trình lập lịch biểu theo múi giờ của máy mà thời gian chạy Mule đang chạy.

  • Giả sử nếu một ứng dụng Mule đang chạy trong CloudHub, thì Trình lập lịch sẽ theo múi giờ của khu vực mà nhân viên CloudHub đang chạy.

  • Tại bất kỳ thời điểm nào, chỉ một luồng do Điểm cuối của trình lập lịch kích hoạt mới có thể hoạt động.

  • Trong cụm thời gian chạy Mule, Điểm cuối của Bộ lập lịch chỉ chạy hoặc kích hoạt trên nút chính.

Các cách định cấu hình Bộ lập lịch

Như đã thảo luận ở trên, chúng ta có thể cấu hình điểm cuối của bộ lập lịch để được kích hoạt tại một khoảng thời gian cố định hoặc chúng ta cũng có thể đưa ra biểu thức Cron.

Các thông số để định cấu hình Bộ lập lịch (Đối với Khoảng thời gian Cố định)

Sau đây là các thông số để đặt bộ lập lịch để kích hoạt luồng theo khoảng thời gian đều đặn:

Frequency- Về cơ bản, nó mô tả tần số mà Điểm cuối của Bộ lập lịch sẽ kích hoạt luồng Mule. Đơn vị thời gian cho việc này có thể được chọn từ trường Đơn vị thời gian. Trong trường hợp bạn không cung cấp bất kỳ giá trị nào cho giá trị này, nó sẽ sử dụng giá trị mặc định là 1000. Ngược lại, nếu bạn cung cấp 0 hoặc giá trị âm, thì nó cũng sử dụng giá trị mặc định.

Start Delay- Đó là khoảng thời gian chúng ta phải đợi trước khi kích hoạt luồng Mule lần đầu tiên sau khi ứng dụng được khởi động. Giá trị của độ trễ Bắt đầu được biểu thị bằng cùng một đơn vị thời gian với tần số. Giá trị mặc định của nó là 0.

Time Unit- Nó mô tả đơn vị thời gian cho cả Tần suất và Độ trễ bắt đầu. Các giá trị có thể có của đơn vị thời gian là Mili giây, Giây, Phút, Giờ, Ngày. Giá trị mặc định là Mili giây.

Các thông số để định cấu hình Bộ lập lịch (Đối với Biểu thức Cron)

Trên thực tế, Cron là một tiêu chuẩn được sử dụng để mô tả thông tin ngày và giờ. Trong trường hợp bạn sử dụng biểu thức Cron linh hoạt để kích hoạt Trình lập lịch, Điểm cuối của Trình lập lịch sẽ theo dõi từng giây và tạo sự kiện Mule bất cứ khi nào biểu thức Quartz Cron khớp với cài đặt ngày giờ. Với biểu thức Cron, sự kiện có thể được kích hoạt chỉ một lần hoặc định kỳ.

Bảng sau cung cấp biểu thức ngày-giờ của sáu cài đặt bắt buộc:

Thuộc tính Giá trị
Giây 0-59
Phút 0-59
Giờ 0-23
Ngày trong tháng 1-31
tháng 1-12 hoặc JAN-DEC
Ngày trong tuần 1-7 hoặc SUN-SAT

Dưới đây là một số ví dụ về biểu thức Quartz Cron được hỗ trợ bởi Điểm cuối của Bộ lập lịch biểu:

  • ½ * * * * ? - có nghĩa là bộ lập lịch chạy 2 giây một lần trong ngày, mỗi ngày.

  • 0 0/5 16 ** ? - có nghĩa là bộ lập lịch chạy 5 phút một lần, bắt đầu từ 4 giờ chiều và kết thúc lúc 4:55 chiều, hàng ngày.

  • 1 1 1 1, 5 * ? - có nghĩa là công cụ lập lịch chạy vào ngày đầu tiên của tháng Giêng và ngày đầu tiên của tháng Tư, hàng năm.

Thí dụ

Đoạn mã sau ghi lại thông báo “xin chào” mỗi giây -

<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>