
    {i                         d Z ddlZddlmZ ddlmZ ddlmZmZ ddl	m
Z
  ej                  e      Zddedefd	Zd
 Z e       Z e        ej%                  dgd       ddgZy)z/
Celery Application Factory - Simplified Setup
    N)Optional)Celery)worker_readyworker_shutdown)celery_settingsapp_namereturnc                     t        |       }t        j                         }|j                  |       ddt        j                  ii|j
                  _        |S )z
    Create and configure Celery application
    
    Args:
        app_name: Name of the Celery application
    
    Returns:
        Celery: Configured Celery application instance
    *queue)r   r   get_celery_configconfig_from_objectCELERY_TASK_DEFAULT_QUEUEconftask_routes)r   
celery_appconfigs      S/var/www/html/hwPaymentPortal-be-dev/hw-payment-portal-api/src/worker/celery_app.pycreate_celery_appr      sT     !J ..0F!!&) 	g@@A#JOO     c                  `    t         j                  dd       } t        j                  dd       }y)z$Setup basic worker lifecycle signalsNc                 .    t         j                  d       y)zHandle worker ready signalz+Celery worker is ready and processing tasksNloggerinfosenderkwargss     r   worker_ready_handlerz2setup_worker_signals.<locals>.worker_ready_handler.   s     	ABr   c                 .    t         j                  d       y)zHandle worker shutdown signalzCelery worker is shutting downNr   r   s     r   worker_shutdown_handlerz5setup_worker_signals.<locals>.worker_shutdown_handler3   s     	45r   )N)r   connectr   )r   r!   s     r   setup_worker_signalsr#   +   s8     C C 6 6r   z
src.workerT)forcer   r   )zfastapi-celery)__doc__loggingtypingr   celeryr   celery.signalsr   r   src.worker.configr   	getLogger__name__r   strr   r#   r   autodiscover_tasks__all__ r   r   <module>r1      s{       8 -			8	$ 6 :6  
     |nD  9 ,
-r   