+ Update api_url for transfer bot

+ Modified logger for transfer bot
This commit is contained in:
Wong Yiek Heng 2025-10-04 10:47:04 +08:00
parent 214612a7db
commit 336ea4bf41

View File

@ -2,16 +2,40 @@ from cm_bot_hal import CM_BOT_HAL
import logging, time, requests, json import logging, time, requests, json
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor
from datetime import datetime from datetime import datetime
from tqdm import tqdm import os
logging.basicConfig( # Configure logging with time-based file rotation
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO log_dir = "logs"
) if not os.path.exists(log_dir):
os.makedirs(log_dir)
# Create logger
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
# Create formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
# Create file handler with time-based filename
log_filename = os.path.join(log_dir, f"transfer_credit_{datetime.now().strftime('%Y%m%d')}.log")
file_handler = logging.FileHandler(log_filename)
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(formatter)
# Create console handler
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_handler.setFormatter(formatter)
# Add handlers to logger
logger.addHandler(file_handler)
logger.addHandler(console_handler)
# Suppress httpx logs
logging.getLogger("httpx").setLevel(logging.WARNING) logging.getLogger("httpx").setLevel(logging.WARNING)
logger = logging.getLogger(__name__)
# api_url = 'https://api.luckytown888.net' # api_url = 'https://api.luckytown888.net'
api_url = 'https://localhost:3000' api_url = 'http://api-server:3000'
max_threading = 1 max_threading = 1
def transfer(data: dict): def transfer(data: dict):
@ -28,13 +52,16 @@ while True:
minutes = int(datetime.now().strftime("%M")) minutes = int(datetime.now().strftime("%M"))
print(f'weekday: {weekday}, hour: {hour}, minutes: {minutes}') print(f'weekday: {weekday}, hour: {hour}, minutes: {minutes}')
if weekday == 6 and (hour >= 9 and hour < 22): if weekday == 6 and (hour >= 9 and hour < 22):
print('hi') local_logger = logging.getLogger(f"{__name__}.saturday_processing")
local_logger.info("Starting Saturday transfer processing")
response = requests.get(f'{api_url}/user') response = requests.get(f'{api_url}/user')
items = json.loads(response.text) items = json.loads(response.text)
total_items = len(items) if isinstance(items, list) else 0 total_items = len(items) if isinstance(items, list) else 0
if total_items == 0: if total_items == 0:
logger.info("No items to process.") logger.info("No items to process.")
else: else:
logger.info(f"Processing {total_items} transfer items...")
with ThreadPoolExecutor(max_workers=max_threading) as executor: with ThreadPoolExecutor(max_workers=max_threading) as executor:
list(tqdm(executor.map(transfer, items), total=total_items, desc="Processing data")) results = list(executor.map(transfer, items))
logger.info(f"Completed processing {total_items} transfer items.")
time.sleep(1) time.sleep(1)