[BPMN] Camunda TimeDate กับ TimeZone

จากปัญหาใน Blog ตอนก่อนครับที่สงสัยทำไมเวลามันไม่ขยับตรงตามที่คิดไว้ครับ หลังจากลองหามาว่าทำไมพอไปทดสอบแบบจำลองบน BPMN Engine พบว่ามันไม่ได้ทำงานตามที่ตั้งใจไว้

มาดูที่โจทย์ที่ผมคิดไว้ดีกว่า (แอบเอาภาพเก่ามาใช้นะครับ 555)

  • มาดูที่ Time Boundary กันครับตามโจทย์ที่ผมตั้ง เวลาวันที่ 23-JAN-2020 เวลา 00:01 ถ้างานที่ค้างจากกิจกรรม First Line Support งานถูกส่งต่อ Second Line Support ซึ่งถ้าแปลงเป็น ISO8601 จะได้
    2020-01-23T00:00:01
  • พอลองรันจริงปรากฏว่า เมื่อถึงเวลามันไม่ทำงานครับ 55555

หลังจากหาลองหาดูใน Forum มี 2 กระทู้ที่มีความเป็นไปได้ครับ

กลับมาลองแก้ใหม่ ตัวร้ายที่เป็นไปได้ น่าจะเป็นเรื่องของ TimeZone ลองมาดูจาก Doc ของทาง Camunda กันดีกว่าครับ

  • กำหนด ISO8601 แบบไม่กำหนด TimeZone ตัว Engine จะใช้ TimeZone จาก JVM ของเครื่องที่ Run
    • ตัวอย่าง DATE TIME แบบ ISO8601
      2020-01-23T00:00:01
  • กำหนด ISO8601 แบบ UTC
    • ตัวอย่าง DATE TIME แบบ ISO8601 UTC
      2020-01-23T00:00:01Z
  • กำหนด ISO8601 + UTC Offset (ปรับเวลาตาม TimeZone ถ้าของกรุงเทพจะเป็น UTC +7
    • ตัวอย่าง DATE TIME แบบ ISO8601 UTC + Offset
      2020-01-23T00:00:01+07

หลังจากลองไปปรับ TimeDate ISO8601+UTC Offset แล้ว พบว่าระบบทำงานได้ตามที่คิดไว้เลยครับ


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.