Ë
    j  ã                   ó|   — d 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  ej                  e
«      Zd„ Zd„ Zd„ Zd„ Zy)	zARun long blog generation in detached subprocesses (non-blocking).é    N)ÚPath)Úsettingsc                  ód   — t        t        j                  «      dz  } | j                  dd¬«       | S )NÚlogsT)ÚparentsÚexist_ok)r   r   ÚBASE_DIRÚmkdir)Úpaths    úD/var/www/html/shopify_to_digistore/blogs/services/background_jobs.pyÚ	_logs_dirr      s,   € Ü”×!Ñ!Ó" VÑ+€DØ‡J�J�t d€JÔ+Ø€Kó    c           	      ó*  — t        t        j                  «      dz  }t        «       d|› d�z  }t        j
                  t        |«      | t        |«      g}t        |dd¬«      }|j                  d|› d|› d	�«       |j                  «        t        j                  ||t        j                  d
t        t        j                  «      t        j                  j                  «       ¬«      }t         j#                  d|||j$                  |«       |j$                  S )Nz	manage.pyÚblog_article_z.logÚazutf-8)Úencodingz
--- z	 article=z ---
T)ÚstdoutÚstderrÚstart_new_sessionÚcwdÚenvz3blog worker enqueued %s article_id=%s pid=%s log=%s)r   r   r	   r   ÚsysÚ
executableÚstrÚopenÚwriteÚflushÚ
subprocessÚPopenÚSTDOUTÚosÚenvironÚcopyÚloggerÚinfoÚpid)ÚcommandÚ
article_idÚlabelÚ	manage_pyÚlog_pathÚcmdÚlog_fileÚprocs           r   Ú_spawn_manage_commandr/      sã   € Ü”X×&Ñ&Ó'¨+Ñ5€IÜ‹{˜}¨Z¨L¸Ð=Ñ=€HÜ�>‰>œ3˜y›>¨7´C¸
³OÐ
D€CÜ�H˜c¨GÔ4€HØ‡N�N�V˜E˜7 )¨J¨<°vÐ>Ô?Ø‡N�NÔÜ×ÑØØÜ× Ñ ØÜ”×!Ñ!Ó"Ü�J‰J�O‰OÓô€Dô ‡K�KØ=ØØØ�‰Øôð �8‰8€Or   c                 ó   — t        d| d«      S )zRGenerate content/images only (legacy). Prefer enqueue_process_and_publish_article.Úprocess_blog_articleÚgenerate©r/   ©r(   s    r   Úenqueue_process_articler5   -   s   € ä Ð!7¸ÀZÓPÐPr   c                 ó   — t        d| d«      S )z5Generate and publish on scheduled day (non-blocking).Ú process_and_publish_blog_articlezgenerate+publishr3   r4   s    r   Ú#enqueue_process_and_publish_articler8   2   s   € ä Ø*¨JÐ8Jóð r   )Ú__doc__Úloggingr!   r   r   Úpathlibr   Údjango.confr   Ú	getLoggerÚ__name__r$   r   r/   r5   r8   © r   r   Ú<module>r@      sA   ðÙ Gã Û 	Û Û 
Ý å  à	ˆ×	Ñ	˜8Ó	$€òòò2Qó
r   