
    Bi                        d Z ddlZddlZddlmZ ddlmZ  ej        e          Z	ej
                            ej
                            ej
                            ej
                            e                                        Zej
                            ed          Zej
                            e          r eed            ej        dd	                                          Zed
k    rej
                            ed          Znej
                            ed          Zej
                            e          r) eed           e	                    de de            n<e	                    de            n#e	                    de d            e              ej        dd          Z edee          Zej                            ddgddddddddddddd d!dd"#           	 ddlZn# e$ r Y nw xY wd$ ZdS )%u   
Celery 앱 초기화
    N)Celery)load_dotenvz.envF)overrideENVIRONMENTdevelopment
productionz.env.productionz.env.developmentTu   Celery 환경: u   , 환경 변수 파일 로드: u+   환경 변수 파일을 찾을 수 없음: u2   메인 환경 변수 파일을 찾을 수 없음: u"   , 기본 .env 파일 로드 시도	REDIS_URLzredis://localhost:6379/0mlink_subscription)backendbrokerjsonz
Asia/Seouli  i     i  z%src.tasks.check_subscription_renewalsg      @)taskschedulez'src.tasks.cleanup_expired_subscriptionsg     @)zcheck-subscription-renewalszcleanup-expired-subscriptions)task_serializeraccept_contentresult_serializertimezone
enable_utctask_track_startedtask_time_limittask_soft_time_limitworker_prefetch_multiplierworker_max_tasks_per_child"broker_connection_retry_on_startupbeat_schedulec                 ^      G  fddt           j                  }|t           _        t           S )u@   Flask 앱으로 Celery 초기화 (컨텍스트 태스크 설정)c                       e Zd ZdZ fdZdS ))init_celery_with_app.<locals>.ContextTaskuF   Flask 애플리케이션 컨텍스트를 포함하는 Celery 태스크c                 z                                     5   | j        |i |cd d d            S # 1 swxY w Y   d S )N)app_contextrun)selfargskwargsapps      G/var/www/html/web/mlink/mlink_AI_Server/mlink-backend/src/celery_app.py__call__z2init_celery_with_app.<locals>.ContextTask.__call__W   s    "" 1 1tx0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s   044N)__name__
__module____qualname____doc__r(   )r&   s   r'   ContextTaskr   U   s4        TT	1 	1 	1 	1 	1 	1 	1    r-   )celeryTask)r&   r-   s   ` r'   init_celery_with_appr1   S   sG    1 1 1 1 1 1 1fk 1 1 1 FKMr.   )r,   osloggingr/   r   dotenvr   	getLoggerr)   loggerpathdirnameabspath__file__project_rootjoinmain_env_fileexistsgetenvlowerenvironmentenv_fileinfowarningr	   confupdate	src.taskssrcImportErrorr1    r.   r'   <module>rK      s    
			              
	8	$	$ wrwrwrwx?X?X/Y/YZZ[[\6227>>-   K....")M=99??AAK l""7<<.?@@7<<.@AA 
w~~h QHt,,,,\k\\RZ\\]]]]OXOOPPPP
NNyyyyzzzKMMM BIk#=>>	 

 
 
   8  #'+ <(
 (
 >*
 *
     8	 	 	 	D		 	 	 	 	s   :G? ?HH