[BPMN] มาลองใช้ Timer Start Event กันครับ

จาก Blog ตอนที่แล้ว หลังจากไปตบตีกับ Timer Start Event  ที่ไม่สามารถ Deploy ได้มา 5 วัรเต็มๆ หลังจากแก้ปัญหาได้แล้ว คราวนี้มาลองดูตัวอย่างกันครับ หลายคนที่อ่าน Spec ของ BPMN เอาน่าจะงงกันครับ

ผมลองทำตัวอย่างบน Camunda แล้วจด Blog ไว้ โดยมีหัวข้อ ดังนี้

มาดูกระบวนการแบบง่ายๆกันก่อนครับ

Note: กระบวนการที่ไม่ได้เป็นตัวอย่างของกระบวนการทางธุรกิจจริงๆนะครับ แค่เพียงทดสอบ Start Timer Event โดยมีส่วนประกอบ ดังนี้

  • Start Timer Event - จุดนี้พระเอกเลยครับ เพราะมีการกำหนดตาม Spec ของ BPMN ครับ ตาม Date Pattern  R4/2018-06-03T00:00/PT5M Task นี้จะถูก Execute ครั้งแรก ในวันที่ 2018-06-03 เวลาเที่ยงคืน และทำงานไปต่ออีก 4 ครั้ง และทิ้งช่วงครั้งละ 5 นาทีครับ
    - ถ้าดูใน XML ในอยู่ในส่วนของ Timer <bpmn:timerEventDefinition> และ <bpmn:timeCycle>  ซึ่งมีการกำหนดรูปแบบของวันที่ตาม ISO 8601 ครับ
<bpmn:startEvent id="StartEvent_1">
   <bpmn:outgoing>SequenceFlow_18slmhg</bpmn:outgoing>
   <bpmn:timerEventDefinition>
      <bpmn:timeCycle xsi:type="bpmn:tFormalExpression">R4/2018-06-03T00:00/PT5M</bpmn:timeCycle>
   </bpmn:timerEventDefinition>
</bpmn:startEvent>
Start Timer Event - การ Config ใน Camunda Modeler ตามรูปเลย
  • Script Task "Collect Order Data" - อันนี้ไม่มีอะไรมากครับ แต่ Print "Task Execute" ตามรูปครับ
  • User Task "Accept Data" - สำหรับ Task นี้จริงๆ ผมแค่อยากทดสอบว่า Task ถูก  Execute จริงไหม โดยให้ Task ถูก Assign ที่ user mary และต้องทำ Task ให้เสร็จ (property duedate)ภายใน 2018-07-30T12:00:00  ครับ โดยมี Config ตามรูป
  • End Event - จบการทำงานครับ

รอที่ Job ทำงานครับ

ต้องรอเวลา 2018-06-03 เวลาเที่ยงคืน ถ้าขี้เกียจก็เปลี่ยนเวลาเครื่องได้เลยครับ (ถ้าบน Windows ที่ยังไม่ Activate จะไม่สามารถย้อนเวลาได้ครับ)

ดูผลลัพธ์

ดูที Console ของ Tomcat ครับ มีการ Execute 5 ครั้ง ครั้งแรกตอน Task Start ครับ และอีก 4 ครั้งตาม Config ครับ (เสียดายที่ลืมเขียนเวลาครับ)

มาดูที่ Task ของ Mary ครับ  มีงาน 5 งานมารอให้ mary สะสางครับ

  • เวลา 00:00
  • เวลา 00:05
  • เวลา 00:10
  • เวลา 00:15
  • เวลา 00:20

จบไปแล้วกับ Blog ตอนนี้ครับ ต่อไปถ้าว่าง ผมคงลองเขียน Timer Start Event ตามกระบวนการธุรกิจจริงๆครับ ^__^


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.