From 0ab75b2a1935454d130213d25373988d051f47d4 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 19 Jan 2026 22:42:39 +0700 Subject: [PATCH] Add delay to start message consumption until 8:10 AM and implement time calculation --- BMA.EHR.CheckInConsumer/Program.cs | 27 +++++++++++++++++++++++++++ dotnet_keycloak_test.js | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/BMA.EHR.CheckInConsumer/Program.cs b/BMA.EHR.CheckInConsumer/Program.cs index 1a5a68d1..40a9db26 100644 --- a/BMA.EHR.CheckInConsumer/Program.cs +++ b/BMA.EHR.CheckInConsumer/Program.cs @@ -13,6 +13,9 @@ var configuration = new ConfigurationBuilder() WriteToConsole("Consumer Start!"); +// Wait until 8:00 AM before starting to consume messages +await WaitUntil8AM(); + var host = configuration["Rabbit:Host"] ?? ""; var user = configuration["Rabbit:User"] ?? ""; var pass = configuration["Rabbit:Password"] ?? ""; @@ -95,6 +98,30 @@ async Task CallRestApi(string requestData) } } +async Task WaitUntil8AM() +{ + // Get current time in Bangkok timezone + var bangkokTimeZone = TimeZoneInfo.FindSystemTimeZoneById("SE Asia Standard Time"); + var currentTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, bangkokTimeZone); + + var targetTime = new DateTime(currentTime.Year, currentTime.Month, currentTime.Day, 8, 10, 0); + + // If current time is already past 8:10 AM today, start immediately + if (currentTime >= targetTime) + { + WriteToConsole($"Current time is {currentTime:HH:mm:ss}. Starting consumer immediately."); + return; + } + + // Calculate time to wait + var timeToWait = targetTime - currentTime; + WriteToConsole($"Current time is {currentTime:HH:mm:ss}. Waiting until 08:10:00 to start consuming messages."); + WriteToConsole($"Time to wait: {timeToWait.Hours} hours, {timeToWait.Minutes} minutes, {timeToWait.Seconds} seconds"); + + await Task.Delay(timeToWait); + WriteToConsole("It's now 08:10:00. Starting to consume messages from queue."); +} + public class ResponseObject { diff --git a/dotnet_keycloak_test.js b/dotnet_keycloak_test.js index d271087d..1e623210 100644 --- a/dotnet_keycloak_test.js +++ b/dotnet_keycloak_test.js @@ -41,7 +41,7 @@ export default function () { //"https://bma-hrms.bangkok.go.th/api/v1/leave/fake-check-in", //"https://hrmsbkk.case-collection.com/api/v1/org/dotnet/keycloak/439fa36d-6bc5-4ef5-95aa-ef29e64d2e9f", "https://hrms.bangkok.go.th/api/v1/org/dotnet/keycloak/bafc5795-befc-4d3f-a461-3533c38a5fc1", - { headers: headers } + { headers: headers }, ); // ตรวจสอบการตอบสนอง