SIENTIAPDE-1199

Refactor logging in worker module to include metadata in custom info and error messages

- Updated logging statements in the worker module to utilize custom_info and custom_error methods, incorporating a metadata dictionary for enhanced context.
- Improved visibility of key operations such as starting the worker, notification handler, and activities, as well as error handling for unhandled exceptions.
This commit is contained in:
vitor-aignosi
2025-08-20 10:51:38 -03:00
parent 8b9bb8d720
commit 40870b021a

View File

@@ -31,12 +31,20 @@ async def main():
host = os.getenv('TEMPORAL_HOST', 'localhost:7233') host = os.getenv('TEMPORAL_HOST', 'localhost:7233')
logger = get_logger(__name__) logger = get_logger(__name__)
logger.info(f'Starting Worker with POD_ID: {POD_ID}') metadata = {
'pod_id': POD_ID,
'model_name': '-',
'model_id': '-',
'workflow_name': '-',
'schedule_name': '-',
}
logger.info("Starting prometheus client...") logger.custom_info(f'Starting Worker with POD_ID: {POD_ID}', metadata)
logger.custom_info("Starting prometheus client...", metadata)
start_prometheus_server() start_prometheus_server()
logger.info('Starting Notification Handler...') logger.custom_info('Starting Notification Handler...', metadata)
mongo_config = build_mongodb_config() mongo_config = build_mongodb_config()
notification_handler = NotificationHandler( notification_handler = NotificationHandler(
@@ -46,7 +54,7 @@ async def main():
project_name=os.getenv('PROJECT_NAME', 'laborious') project_name=os.getenv('PROJECT_NAME', 'laborious')
) )
logger.info('Starting Activities...') logger.custom_info('Starting Activities...', metadata)
activities = Activities( activities = Activities(
postgres_config=build_postgres_config(), postgres_config=build_postgres_config(),
@@ -56,7 +64,8 @@ async def main():
notification_handler=notification_handler notification_handler=notification_handler
) )
logger.info(f'Starting SDK Metrics Server on port {SDK_METRICS_PORT}...') logger.custom_info(
f'Starting SDK Metrics Server on port {SDK_METRICS_PORT}...', metadata)
new_runtime = Runtime( new_runtime = Runtime(
telemetry=TelemetryConfig( telemetry=TelemetryConfig(
@@ -65,7 +74,7 @@ async def main():
) )
) )
logger.info('Starting Temporal Client...') logger.custom_info('Starting Temporal Client...', metadata)
temporal_client = await client.Client.connect( temporal_client = await client.Client.connect(
target_host=host, target_host=host,
@@ -73,7 +82,7 @@ async def main():
runtime=new_runtime runtime=new_runtime
) )
logger.info('Starting Workers...') logger.custom_info('Starting Workers...', metadata)
workers = [ workers = [
Worker( Worker(
@@ -130,14 +139,14 @@ async def main():
for w in workers: for w in workers:
handlers.append(w.run()) handlers.append(w.run())
logger.info('Workers started successfully') logger.custom_info('Workers started successfully', metadata)
try: try:
# This will run the workers and wait for them to complete. # This will run the workers and wait for them to complete.
# If an exception occurs in any of the worker handlers, it will be propagated here. # If an exception occurs in any of the worker handlers, it will be propagated here.
await asyncio.gather(*handlers) await asyncio.gather(*handlers)
except BaseException as e: # NOSONAR except BaseException as e: # NOSONAR
logger.error(f"An unhandled exception occurred: {e}") logger.custom_error(f"An unhandled exception occurred: {e}", metadata)
finally: finally:
if notification_handler: if notification_handler:
notification_handler.shutdown() notification_handler.shutdown()