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

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

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

  • 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>
    • การ 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 to your email.