o
    2wi	                     @   s|   d Z ddlmZ ddlZddlZddlmZmZ ddl	m
Z
 ddlmZ ddlmZ dd	lmZ eed
Zde
fddZdS )z
Launch command.
    )partialN   )SubmitRulesupdate_from_args)DecoratedMain)Shepherd)
simple_log)reliable_rmtreezLaunch:mainc           	   	   C   sD  t |td}| }t||  t }t||  || j}td|  |  | jrG|j	d u r6td d S |
 r@td d S |j	  d S | jrptd |j	d urY||j	 |  td |jj rmt|jj d |_	|||| |  | js| jr d}d }d}zjz,	 |j r|d u rtd	d
dd|jg}|
drtd|  d}ntd qW n ty   d}td Y nw W |r|rtd |  | jr|s|j	d urtd|j	j  |j	  d S d S d S d S |r|rtd |  | jr|s|j	d urtd|j	j  |j	  w w w w d S )N)logzFetched sheep z!Could not cancel non existing jobzJob is not runningzCanceling current job...zDeleting XP folder...FTtailz-n200z-fforcez"Remote process finished with state   zKeyboardInterrupt received...   z"attach is set, killing remote job )r   r   get_slurm_configr   r   get_sheep_from_argvargvupdatecanceljobis_doneclearcancel_lazycommitxpfolderexistsr	   maybe_submit_lazyr   attachspPopenstatetimesleepKeyboardInterruptkilljob_id)	argsr
   shepherdslurmrulessheepdonetail_processwait r0   H/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/dora/launch.pylaunch_action   s   










r2   )__doc__	functoolsr   
subprocessr    r#   confr   r   r
   r   shepr   r   r   utilsr	   r2   r0   r0   r0   r1   <module>   s   
