ó
    Ú°›j2  ã                   óÖ   • S r SSKrSSKrSSKJrJr  SSKJrJrJ	r	J
r
  SSKJr  \R                  " 5       r\	R                  " 5       rS\4S jrS\\\4   SS4S	 jrS\\\4   SS4S
 jrg)zz
runpod | serverless | worker_loop.py
Called to convert a container into a worker pod for the runpod serverless platform.
é    N)ÚAnyÚDict)Ú	rp_loggerÚrp_localÚrp_pingÚrp_scale)Úrun_fitness_checksÚreturnc                 ó~   • U S   R                  SS5      (       a  g[        R                  R                  SS5      c  gg)z?Returns True if the worker is running locally, False otherwise.Úrp_argsÚ
test_inputNTÚRUNPOD_WEBHOOK_GET_JOBF)ÚgetÚosÚenviron©Úconfigs    ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/runpod/serverless/worker.pyÚ	_is_localr      s9   € àˆiÑ×Ñ˜\¨4×0Ñ0Øä	‡z�z‡~�~Ð.°Ó5Ñ=Øàó    r   c                 ó   • [         R                  " [        5       5        SSKJnJn  U" 5       nU" 5       R                  U5        [        R                  U5        [        R                  " U 5      nUR                  5         g)a	  
Starts the worker loop for multi-processing.

This function is called when the worker is running on Runpod. This function
starts a loop that runs indefinitely until the worker is killed.

Args:
    config (Dict[str, Any]): Configuration parameters for the worker.
r   )ÚJobsProgressÚPingJobMirrorN)ÚasyncioÚrunr	   Ú&runpod.serverless.modules.worker_stater   r   Ú
set_mirrorÚ	heartbeatÚ
start_pingr   Ú	JobScalerÚstart)r   r   r   ÚmirrorÚ
job_scalers        r   Ú
run_workerr$      s_   € ô ‡K‚KÔ"Ó$Ô%÷ SÙ‹_€FÙƒN×Ñ˜fÔ%ô ×Ñ˜Ô ô ×#Ò# FÓ+€JØ×ÑÕr   c                 ó�   • [        U 5      (       a+  [        R                  " [        R                  " U 5      5        g[        U 5        g)z§
Checks if the worker is running locally or on Runpod.
If running locally, the test job is run and the worker exits.
If running on Runpod, the worker loop is created.
N)r   r   r   r   Ú	run_localr$   r   s    r   Úmainr'   8   s0   € ô �×ÑÜ�Š”H×&Ò& vÓ.Õ/ô 	�6Õr   )Ú__doc__r   r   Útypingr   r   Úrunpod.serverless.modulesr   r   r   r   Ú$runpod.serverless.modules.rp_fitnessr	   ÚRunPodLoggerÚlogÚ	Heartbeatr   Úboolr   Ústrr$   r'   © r   r   Ú<module>r2      s|   ðñó
 Û 	ß ç LÓ LÝ Cà×ÒÓ€Ø×ÒÓ€	ð˜ô ð�t˜C ˜H‘~ð ¨$ô ð6
��c˜3�h‘ð 
 Dõ 
r   