[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 กระทู้ที่มีความเป็นไปได้ครับ boundaryEvent not firing with timeDate expression Dynamic value in timer boundary event กลับมาลองแก้ใหม่ ตัวร้ายที่เป็นไปได้ น่าจะเป็นเรื่องของ 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…

[BPMN] Camunda ทำไม 1 วันมันถึงบวกไปแค่ 17 ชั่วโมง

มันเริ่มจากผมทดสอบ Process ซึ่งมันจะตรวจสอบว่า ถ้ามีงาน Incident แจ้งเข้ามาเนี่ย ฝั่ง Customer Service จะเข้างานในส่วนของ First Line Support เพื่อมาแก้ปัญหา แต่ถ้างานค้างไป 1 วันมัน ตัวงานจะส่งต่อให้ Second Line Support เพื่อช่วยเหลือครับ โดยภาพรวมของกระบวนการเป็นไปดังรูปครับ ลองดูส่วนที่ผมวงๆสีแดงจริงๆมันต้องดู 1 วัน แต่มันดันเป็น 8 ชั่วโมงซะได้ ปัญหา คือ อะไรหละ อันนี้ต้องย้อนกลับไปดู Code ของตอนที่หาวันถัดไปครับ แบบแรกใช้ TimeZone UTC (มันไปคิดแบบ UTC + 0.00 ครับ) ที่ถูกถ้าเอาเวลาของประเทศไทยจะต้องเป็นแบบนี้ครับ จบแล้วเหลืออีกปัญหาครับ ทำไมตั้งเวลาแล้วมันไม่ทำงาน เดียวได้ข้อสรุปแล้วมาเขียน BLog ต่อครับ

[VM] ลบไฟล์ที่ไม่จำเป็นก่อน shrink หรือ Optimize/Compact VM

Clear ไฟล์ขยะที่เกี่ยวกับงานตัวเองใน VM อันนี้ผมแนะนำมากไม่ได้ เอาง่ายๆลองลบอะไรที่ไม่จำเป็น และไม่เกี่ยวกับงานตัวเองออกไปครับ อาทิ เช่น backup เก่าๆ Log File ของ Application ตัว Setup เวอร์ชันเก่าๆ ถ้าใน VM ไม่ได้กำหนด disk แบบเร็ว พวก SSD ควรมีการทำ Defrag เพิ่มด้วยครับ Clear ไฟล์ขยะใน OS – สำหรับ Windows Clear Temp จาก Path C:\Windows\Temp Clear Temp ของ Windows Update ใน Path C:\Windows\SoftwareDistribution\Download Clear Temp ของ User ใน Path C:\Users\<user>\AppData\Local\Temp ใช้ sdelete เพื่อ Zero Fill Disk ด้วยคำสั่ง – สำหรับ Linux Clear พื้นที่ของ OS ด้วยคำสั่ง ทำการ Zero Fill Disk ด้วยคำสั่ง

[CR] ลองนั่ง MRT สายสีน้ำเงินส่วนวงกลมจากสถานีบางขุนนนท์ไปสามย่านครับ

ได้ข่าวว่า MRT สายสีน้ำเงินส่วนต่อขยายได้สร้างครบลูปแล้วครับ โดยตอนนี้ช่วงจากจรัญ13 ไปจนถึงเตาปูนเปิดให้ใช้ฟรี ดังภาพครับ หลังจากโอกาสไม่ได้เอื้ออำนวยมานาน เพราะตอนปลายปีก็ป่วย + เผางานไปครับ คราวนี้หาวันว่างได้แล้วครับ มันมีงานวิ่งของวิศวะจุฬาฯครับ แล้วที่นี่วันเสาร์ที่ 11 มกราคม 2020 ต้องไปรับเสื้อวิ่ง ผมก็เลยวางแผนการเดินทางไว้ ดังนี้ครับ ออกจากบ้านนั่งสองแถวสีฟ้าสาย 1474 สวนผัก32 – บางขุนศรี (อันนี้ถึงแม้จะขยับราคาจาก 7 บาทมา 8 บาท แต่มีการเชื่อมโยงตำแหน่งกับ App ViaBus มันโอเคมากครับ) ขึ่น MRT สถานีบางขุนนนท์ครับ เพื่อไป MRT สถานีสามย่านครับ เปลี่ยนขบวนรถที่สถานีท่าพระครับ (ถ้าอยากนั่งชิวๆยาวๆ อันนี้ต้องไปทางฝั่งเตาปูนครับ เสียเวลานิดนึง แต่ราคาอันนี้ผมสอบถามพนักงาน MRT แล้ว เค้าคิดราคาจากเส้นทางที่สั่นที่สุดครับ) จากนั้นรอ MRT มุดดิน เพื่อไปทางอิสรภาพ และถึงจุดหมายปลายทางที่สถานีสามบ่านครับ สำหรับขากลับอันนีผมนั่งสาย 36 ไปท่าน้ำสี่พระยา แล้วข้ามฟากไปทางคลองสานไปติดตามน้องในทีมนิดนึง เขียนแผนการเดินทางไปแล้วมารอดูผลกับครับว่าลองจริงๆแล้วใช้เวลาทั้งหมดกี่นาทีครับ 10:40 : ออกจากบ้านมารอสองแถว 10:42 : ได้นั่งรถสองแถวสีฟ้าแล้วครับ มาลงตรงวัดไก่เตี้ยแวะทำธุระก่อน 10:56 : นั่งรถสองแถวสีฟ้าไป MRT สถานีบางขุนนนท์ครับ รอบนี้ไม่ต้องหยอดเหรียญเพื่อซื้อบัตรเข้ารถไฟฟ้าแล้วครับ 11:05 : ถึง MRT บางขุนนนท์แล้วครับ ผมก็เดินถ่ายรูปสอบถามข้อมูลต่างๆกับพนักงานครับ 11:09 : จะเข้าสถานีแล้วครับ ดันเงินหมด ซึ่งเมื่อลองเติมเงินแล้วได้ของที่ระลึกมาด้วยครับ อันนี้แปลกเพืงเป็นพระแม่มารีบนดาดฟ้าบ้าน ปกติจะเห็นแต่ศาลพระภูมิครับ 11:12 : รถไฟฟ้ามาแล้วครับ 11:18 : ถึงสถานีท่าพระแล้วครับ ตอนนี้ต้องมีเปลี่ยนขบวนครับลองจากชั้น 4 ชานชาลบน มาที่ชั้น 3 ชานชาลล่าง เพื่อมาต่อรถไฟฟ้าไปทางสถานีอิสรภาพครับ 11:19 : รถไฟฟ้ามาแล้ว แอบเสียดายขบวนนี้ติดโฆษณาเยอะไปหน่อยครับถ่ายคลิปตอนมุดดินไม่ได้เลย…

ICMM2020 หวังว่าปีนี้เป็นปีสุดท้ายที่วิ่งในฐานะนิสิตนะ

เหนื่อยครับ แต่คิดว่าร่างกายสำคัญ เพราะปีนี้ป่วยบ่อยมากครับ โดยงานวิ่งงานนี้เน้นวิ่ง เพือกินครับ ของกินเยอะจริงๆ และก็สร้าง Connection ด้วย หรือพบปะ เพื่อนเก่า (ผมคงไม่ได้ใช้สร้าง Connection เท่าไหร่นะ) 2020-JAN-11 แวะมารับเสื้อวิ่งครับ หลังจากนั่งทำ Thesis รีบบึ่งไปรับของเลยครับ ไปถึงแล้วครับมีจัดพื้นที่ตามนี้ครับ มาต่อคิวรับเสื้อครับสะดวกรวดเร็วมากครับ 5 นาทีเองครับ โดยผมอยู่แถวที่ 5 น่าเอาเลขไปซื้อสลากครับ อิอิ หลังจากได้รับเป้ของวันนั้นเสร็จ ฟิตๆนิดหน่อยไปออกกำลังกายในฟิตเนสครับ พอกลับมาถึงบ้านมาดูกันครับว่าในถุงมีอะไรบ้างครับ RFID Tag ติดตามตอนวิ่งครับ – เป็นเทคโนโลยีที่มีมานานจริงๆ ตอนผมเรียน ปี 2 ยังไม่แพร่หลายกัน นอกจากบัตร BTS / MRT พอผ่านมา 8-9 ปี เอามาใช้กับเกลือนแล้ว 2020-JAN-12 วิ่งจริงแล้วครับ 05:20 มาถึงจุฬาฯ แล้วครับ มาถึงเตรียมออกวิ่งเลยครับ05:33 เริ่มวิ่งแล้วครับ วิ่งไปเรื่อยๆครับ ฝุ่นเยอะ ได้ผ่านสถานที่สำคัญด้วย บรรยากาศมุมเงียบๆ มุมสวยๆ มุมสงบภายในงานครับ จบงานแล้วมาดูกันที่ของกินของงานครับ มีหลายอันทั้ง เครื่องดื่มบำรุงกำลัง / ก๋วยเตี๋ยวตรอกโรงหมู / ข้าวมันไก่นายธง / อาหารคลีน Lan Green และของหวาน มาดูของที่ได้รับจากงานครับ เยอะมากๆ ของที่ได้รับครับเยอะมากๆ ผ้าขนหนู ช้อนส้วมรักษ์โลก ถุงผ้า เครื่องดื่มชูกำลัง

01-JAN-2020 ป่วยข้ามปีกันทั้งบ้าน

ช่วงปีใหม่ที่ผ่านๆมา หลายคนอาจจะได้ไปเที่ยว พักผ่อน แต่สำหรับของบ้านผมนั้นสลับกันป่วยครับ มันเริ่มต้นจาก น้องชายป่วยเป็นไข้หวัดใหญ่ช่วงกลางเดือนธันวา 19 หลังจากนั้นคุณแม่ก็ป่วยตามกันไป ผมเลยต้องมาดูแลทั้ง 2 คนแทนจนอาการดึขึ้น พอช่วงปลายปีผมก็ป่วยตาม 555 คราวนี้เลยต้องให้แม่กับน้องย้ายไปอยู่ที่อื่นส่วนตัวเองก็นอนซมป่วยข้ามปีไป

2019 ปีที่ไม่ได้ก้าวไปไหน

ปีนี้สิ่งที่พลาดที่สุด คือ ความอดทน พอทนไปเรื่อยๆรู้สึกว่าตัวเองงานเข้า หรือไม่ก็ไปตกลงอะไร โดยที่ไม่ได้แจ้งล่วงหน้า ปีนี้ถ้าเทียบกับปีก่อนหน้าแอบแย่กว่านะ มาดูในแง่มุมต่างๆได้เลยครับ เรื่องสุขภาพ ปีนี้ถ้าตัวผมเอง สุขภาพดูไม่ต่างจากปีก่อนมานัก แต่พักผ่อนน้อยลงจากปัญหาสุขภาพของคุณแม่ และงานที่อยู่ๆจะมาก็มาก็มา แขนพังจนต้องไปฝังเข็มรักษาที่โรงพยาบาลหัวเฉียวครับ น้ำหนักขึ้นจากเดิมไป 84 kg แต่ก็ลดลงมาที่ 80 kg ได้ ปีนี้กินกลืนยาแคปซูล/ยาเม็ด ได้แล้ว หลังจากงอแงมา 28 ปี จริงๆเป็นกันทั้งบ้านเลย ที่ต้องมาหัดกิน เพราะต้องทำเป็นตัวอย่างให้คุณแม่ดูด้วย เรื่องการเรียน ครึ่งปีแรกไปได้สวยเลยครับ เหมือนเราเห็นแสงสว่างอยู่ที่ปลายทางแล้ว แต่ก็มีเรื่องสุขภาพของคุณแม่เข้ามาซะงั้น ชีวิต โชคชะตา มันก็ช่างเล่นตลกนะ ส่วนอาการของคุณแม่นั้นเดี๋ยวค่อยมาเขียน Blog ยาวดีกว่า สั้นๆดูแลผู้สุงอายุด้วยนะครับ ลื่นล้มให้ห้องน้ำ รากฟันไม่แข็งแรง การใช้ฟันปลอม การทานยา สู้อีกทีในปีหน้านะ เรื่องงาน ปีนี้เป็นปีที่ทำให้อยากคิดที่จะลองออกไปเปลี่ยนงานดูเลย เพราะ สิ่งที่เคยทำนายไว้เป็นจริง การจัดการโครงการ – ตามใจลูกค้าเกินไป จนทีมเละ การสื่อสาร ขยับ milestone เข้าไม่แจ้งทีม ขาดการ Tracking และติดตาม แจ่งเวลาไม่สะดวกแล้วยังนัดชนอีก สาย MA ฝ่าย Support สื่อสารหลาย Hop ขาดข้อมูลพื้นฐาน ทีม Support ใช้ product ตัวเองไม่คล่อง การโยนงาน อันนี้ผมแก้ปัญหาทำ Line Notify เลย ปัญหาที่ซ้ำๆไม่ทำ KM แล้วมาถามซ้ำๆ ปีนี้เป็นปีที่ไล่ด่าคนจริงๆนะ แบบบว่ามันอดทนไม่ไหวแล้ว ทั้งชี้แจงแบบปกติก็แล้ว แต่ยังทำแบบเดิมๆ จากส่วนที่แย่ไปแล้วมาส่วนที่ดีบ้าง งาน .NET ที่ทำไว้ เริ่มตอบโจทย์กับงานที่ช้า มีปัญหาด้าน Performance แล้ว แอบดีใจขึ้น Production มา 5 เดือนยังไม่มีปัญหาการคำนวณผิดพลาด Flow Process…

[DB2] ตัวอย่างการใช้งาน Stored Procedure DELETE_MANY_ROWS

IBM DB2

หลังจากบทความเมื่อหลายปีก่อนได้นำเสนอวิธีการลบข้อมูลเยอะๆบน DB2 แล้วไม่ให้เกิดปัญหา Transaction Log Full ไปแล้ว แต่ผมดันลืมแนบตัวอย่าวการใช้ไป คราวนี้ผมมาใส่ตัวอย่างการใช้งานครับ ถ้ามองเป็น SQL SELECT มันจะเทียบเท่ากับ

[Windows] ใช้ Windows 10 อยู่ดีๆ แล้ว Ram มันขึ้นเยอะมากก

หลังจากใช้ Windows 10 มานาน พบว่า RAM มันกินเยอะปิดปกติมากๆ หลังจากอดทนมานานหลายปี 5555 คราวนี้ตัดสินใจลอง Google หาดูก็พบสาเหตุครับ กรณีที่ Update Windows 10 มาจาก Windows อื่นๆ เช่น Windows 7 หรือ Windows 8 / 8.1 มันมีบาง Service ของ Windows เวอร์ชันเก่าๆที่ยังทำงานอยู่ครับ อย่างเคสของผมเป็น Windows 10 ที่ Update มาจาก Windows 8.1 (ไอ้เรามันก็งงนะ 555) มันเลยมีบาง Service ของ Window 8.1 ทำงานอยู่ครับ ตัว Windows Network Data Usage Monitor (Ndu) มันทำงานและกินแรมเพิ่มไปเรื่อยๆครับ ซึ่งถ้าจะจัดการกับมันก็สามารถทำได้ ดังนี้ครับ กด Win+R พิมพ์ Regedit เพื่อเค้า Registry Editor ครับ จากนั้นไปที่ Path HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Ndu ค่าของ “Start” ก่อนการแก้ไขครับ เปลี่ยนค่าของ “Start” ให้เป็น 4 (Disable) เพื่อปิดมันครับ จากนั้น Restart เครื่องครับ Reference

[PowerShell] แก้ไขไฟล์ App.config ใน Jenkins Pipeline

powershell

หลังจากทำมี Tools ที่ กำหนดค่าที่เดียว แต่สามารถใช้งานไปได้ทุก Application แล้ว (Universal Configuration) แต่ทำไมคนอื่นถึงไม่ค่อยใช้งานกัน เราก็ถึงบ้างอ้อทันที อ๋อขี้เกียจไปแก้ app.config หรือ web.config นั้นเอง ด้วยความที่ระบบมันมี Base 3 สำหรับลูกค้า 3 กลุ่ม แต่ใช้ Code ชุดเดียวกันนะครับ มันจึงต้องมีการเตรียมค่าตั้งต้นกันก่อนนั้นเองครับ อาทิ เช่น Base AMC / INS ตัว Application อ่านค่าจาก HKEY_LOCALMACHINE Base TSY ตัว Application อ่านค่าจาก HKEY_LOCALUSER เนื่องจากทีม Implement ขี้เกียจแก้ แต่ก็ไม่ได้บอกนะ 5555 ผมเลยทำให้มันเสร็จไปจากเครื่องบิ้ว Jenkins เลยดีกว่าครับ แต่มันจะมี 2 ประเด็น แก้ไขไฟล์ app.config หรือ web.config อย่างไร เอาไปใช้งานใน Jenkins Pipeline ได้อย่างไร กลับมาประเด็นแรกก่อน “แก้ไขไฟล์ app.config หรือ web.config อย่างไร” อันนี้ผมมีทางออกแล้วครับใช้พลังหอย หมีบๆ PowerShell ของ Microsoft ครับ เพราะ เขียน่าย อ่านสะดวก แถมใช้เรียกใช้ Library ของ .NET Framework ได้ด้วยครับ ลองมาดู Code ที่เขียนกันเลยครับ (ไฟล์ REPLACE_APPCONFIG.ps1) สำหรับการเรียกใช้งานก็ง่ายครับ เพราะ ไฟล์ REPLACE_APPCONFIG.ps1 มี 3 Parameter ได้แก่ Path ของ app.config หรือ…