B
    …Ë„b¬  ã               @   sÐ   d dl mZmZ d dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlT d d	lmZ e ¡  d
Zi ZdZdd„ Zeddddd„ ƒZeeddddddd„ ƒZdS )é    )Úabsolute_importÚunicode_literalsN)Úsettings)Úcache)Ú
connection)Úcrontab)Úperiodic_task)Ú*)ÚtempFileTih  c             C   s>   t jdkrd S yt  d| | f ¡ W n tk
r8   Y nX d S )NÚntz!cmd /C net stop %s & net start %s)ÚosÚnameÚsystemÚ	Exception)Úserver_name© r   ú%G:\easytimepro\master/mysite/tasks.pyÚrestart_server   s    
 r   é   zmysite.tasks.job_check)Z	run_everyr   c        
      C   sÊ  t jt jt jt jt jpddœ} t d¡}tj 	¡ }|rF||  
¡ dkr˜t d|¡ td|t jf ƒ tdtj 	¡  d¡ dtj 	¡  d	¡d
t j f ƒ | d s¤d S t dd¡ t d¡}|sôtdƒ tdtj 	¡  d¡ dtj 	¡  d	¡df ƒ t d¡rd S t d¡rd S t d¡r$d S yt ¡  W nD tk
rt   tdtj 	¡  d¡ dtj 	¡  d	¡ d ƒ d S X tjdkr†d S t jr’d S | d }x(t|ƒD ]}d| d t| d ƒ| f }ytj|d dd}W nâ tk
r¾ } zÂt d| ¡}	|	rž|	dkrŒt d| ¡ td|tj 	¡ ƒ tdtj 	¡  d¡ dtj 	¡  d	¡dt| d ƒ|  f ƒ td| ƒ td|tj 	¡ ƒ nt d| d¡ nt d| d¡ W d d }~X Y nX q¦W d S ) Né   )ZPortÚHOSTÚTYPEÚPort0ÚSERVICESZcelery_job_checki  z$task is running,time=%s,DB ENGINE=%sz
job_%s.txtz%Y%mz%s %sz%Y%m%d%H%M%Sz"bio-server is running,DB ENGINE=%sr   zbio-cache-testzbio-cache is wrongZ_iscalcing_Z_sync_doors_data_Z_synEmptoDev_z%sz0 start Timer task Failed,database connect failedr   r   zhttp://%s:%s/iclock/pingr   é   )ÚdataÚtimeoutzcelery_job_check_apache%szrestart server start....z%s%sz check restart %szbio-apache%szrestart server end....é   )r   ZPORTr   r   ZPORT0r   r   ÚgetÚdatetimeÚnowZtotal_secondsÚsetÚprintZDATABASE_ENGINEr
   Ústrftimer   Zcursorr   r   r   ÚDEBUGÚrangeÚintÚrequestsÚdeleter   )
ZparamsZc_ntr   ÚvZserversÚpZurlZresponseÚeZ	job_countr   r   r   Ú	job_check    sn    

 
   
r,   r   r   )ZminuteZhourz!mysite.tasks.job_clear_apache_logc        
      C   sè   t jdkrd S tjd } xÊt  | ¡D ]¼\}}}x°|D ]¨}| d | }ytt j |¡d }|dkr¶t j |¡}d}||kr¶t|dƒ}| 	¡  t
dtj ¡  d	¡ d
tj ¡  d¡df ƒ W q4 tk
rÚ }	 zW d d }	~	X Y q4X q4W q$W d S )Nr   z/apache/logsú/r   z.logi    Úwz
job_%s.txtz%Y%mz%s %sz%Y%m%d%H%M%Sz"clear apache log has been executed)r   r   r   ZAPP_HOMEÚwalkÚpathÚsplitextÚgetsizeÚopenÚcloser
   r   r    r#   r   )
r0   ÚrootÚdirsÚfilesÚfileZfiletypeÚsizeÚ	file_sizeÚfr+   r   r   r   Újob_clear_apache_loge   s&    
 


r<   )Z
__future__r   r   Zloggingr   r'   r   Zdjango.confr   Zdjango.core.cacher   Z	django.dbr   Zcelery.schedulesr   Zcelery.taskr   Zmysite.core.zkcmdprocZmysite.utilsr
   ZbasicConfigZ
IS_DB_CONNZ	JOB_COUNTZTOTAL_JOB_COUNTSr   r,   r<   r   r   r   r   Ú<module>   s$   
E