o
    ci                     @   s   d dl Z d dlZd dlZd dlm  mZ ejG dd dZe	dkrpe 
 Zejddeddd	 ejd
deddd	 e \ZZe  ejejejdZej Zeeeg edd  Zee dee  dS dS )    Nc                   @   s.   e Zd ZdddZdd Zdd Zd	d
 ZdS )	StepActor      c                 C   sH   || _ d| _d| _|| _tjjj}|j	 }t
jd| | jdd d S )NFr   JOB:T	overwrite)
interval_sstoppedcurrent_steptotal_stepsray_privateworkerglobal_workercore_workerget_actor_idray_kv_internal_kv_put)selfr   r   r   	worker_id r   `/home/ubuntu/.local/lib/python3.10/site-packages/ray/experimental/job/example_job/demo_script.py__init__   s   

zStepActor.__init__c                 C   s   t jjj}|j }| j| jkrD| js9t	d| j
 d| j  t| j
 |  jd7  _tjd| | jdd nt	d n| j| jksd| _tjd| ddd dS )	Nz	Sleeping z secs to executing step r   r   Tr   z"Stop called or reached final step.DONE)r   r   r   r   r   r   r
   r   r	   printr   timesleepr   r   )r   r   r   r   r   r   run   s(   


zStepActor.runc                 C   s   | j S )N)r
   r   r   r   r   get_step-   s   zStepActor.get_stepc                 C   s
   d| _ d S )NT)r	   r   r   r   r   stop0   s   
zStepActor.stopN)r   r   )__name__
__module____qualname__r   r   r   r    r   r   r   r   r   
   s
    

r   __main__z--interval-sFr   z Address to use to connect to Ray)requiredtypedefaulthelpz--total-stepsr   z Password for connecting to Redis)r   r   r   z, )argparser   r   ray.experimental.internal_kvexperimentalinternal_kvr   remoter   r!   ArgumentParserparseradd_argumentintparse_known_argsargs_initr   r   
step_actorr   refr   get_internal_kv_listjob_key_internal_kv_getr   r   r   r   <module>   s@   )
